引言
这是笔者第一次使用Spring Boot创建Java Web后台服务,所以会将我从头到尾完成这个项目的过程记在
这里。期间肯定会遇到很多的坑,我都会把问题描述和我如何解决的也记在这里。如果读者发现我做的有哪
些不合理的地方,希望在下面给我留言,给一些建议~谢谢大家!
注意,下文中笔者踩到的坑会用引用的方式包起来。
项目搭建基本流程
1. 持续集成环境搭建(CI)
在项目开发过程中,相信大家都需要不停的测试和部署代码到生产环境中。对于自动化测试,各个编程语言都有了各自的自动化测试框架,所以大家都在编码工作完成后手动运行本地测试。测试通过后再将整个工程部署到云服务器上。
上述码农的工作日常是每个码农都要面对的,可以看到有很多重复性的工作,比如:运行相同的测试命令、使用相同的命令部署到云端。码农追求的应该是消除重复!所以持续集成和部署就应运而生。
笔者是先登录到这个网站后进行自由探索,再一点一点的看文档学习如何使用它的,下面是笔者使用travis搭建CI环境的过程:
使用Github账户登录到Travis网站中,点击右上角的Sign in with Github登录:
登陆后可以看到网站给了很贴心的三步走指示:
1. 打开你在Github仓库中的某个仓库的开关。
2. 添加 .travis.yml 配置文件到你的仓库中。
3. 通过git push来触发一个构建。
关于如何编写.travis.yml文件,一定要仔细看travis官网中的文档,不同的编程语言对应的配置文件书写是不同的,一定注意。
下面是我的Java Spring工程的.travis.yml配置文件:
language: java
sudo: true
jdk:
- openjdk8
before_install:
- chmod +x ./mvnw
script:
-"./mvnw test -B"
需要额外注意的是,上述配置文件中的
chmod +x ./mvnw
那一行,如果没有这行的话,你应该会在travis构建时报出Permission denied
错误,而且这句话一定要放在before_install
下面,不是before_script
2. 部署环境搭建
travis支持很多种部署环境,可以在文档中Deployments and Uploads
的地方看到:
笔者使用的是pivotal提供的服务,对应的是上述列表中的CloudFoundry。
我也不知道为什么叫CloudFoundry。。。
可以看到这个指南是有两种方式在.travis.yml
中创建了部署的配置:
- 通过命令行
travis setup cloudfoundry
,运行完这个命令后会提示你输入一些配置信息,然后替你写入到.travis.yml
中。 - 直接将配置手动写入到
.travis.yml
文件中。注意,你的密码应该通过travis encrypt --add deploy.password
命令来生成。
travis
命令行工具需要根据链接指引去Github中获取。这是一个ruby写的程序,所以需要安装ruby运行环境,安装完ruby后具体安装travis的步骤在README.md中有。
注意!
ruby
的版本不能用最新的2.5。安装travis时会报错。使用2.4
版本即可。
下面可以在你的本地环境中进行git push
来触发自动构建和部署了~