centos7 + maven + git + gitee 通过jenkins实现持续集成
为什么要用持续集成呐,因为最起码的我们可以实现git push上去,然后自动化构建测试,再自动跑个脚本就上线测试服务器了,而且还可以自动化更新生产服务器的项目.
(最好是配置梯子,不然插件只能离线安装)
jdk首先必须使用openjdk,然后去官网下载lts版本的jenkins war包,用
nohup java -jar jenkins.war --httpPort=8000 >/dev/null 2>&1 &
把jenkins跑起来之后,会在root目录下生成一个.jenkins目录.
首屏进入jenkins的控制台初始化时可能会出现卡在加载界面进不去,这个时候只需要修改 .jenkins 下的 hudson.model.UpdateCenter.xml 文件,
修改为清华大学的源(这样设置有个好处就是如果进了后台再设置可能会不生效或者各种出错的问题)
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
然后再重启jenkins就可以了,然后要跳过插件安装(点右上角x关闭即可),
首先需要在jenkins里面装 git maven gitee 的插件,如果没有梯子的话,可以先勾选更新(就会出现更新的顺序列表,只不过没有梯子大概率会全部失败),再去jenkins的插件仓库搜索离线下载到本地(全部选最新版即可),按照顺序一个一个上传即可,我手上已经整理了一份离线依赖,不过版本只是现在的,不一定适用于以后,所以就不放出来了.
需要在服务器上有git maven jdk,然后配置好相关环境变量.
对着gitee的文档和网上的配置,把git gitee maven都配置好,然后在项目里也配置好这几个的配置,就可以成功构建了.
可参考:https://blog.csdn.net/AlphonesEric/article/details/89144817
坑:
jenkins会在构建后结束所有衍生进程,所以需要这样配置(在要执行的脚本之前加上这样一行即可):
BUILD_ID=DONTKILLME
bash /root/projectBash/runJar.sh
跳过单元测试:
clean package -Dmaven.test.skip=true
删除构建历史:
rm -fr /root/.jenkins/jobs/jobs的名称/builds/*