这次是在Linux服务器搭建Jenkins部署,实现一键更新。
先在服务器安装好Jenkins,Git,maven之类。
Jenkins要安装maven插件,新建一个maven项目的任务
点击建好的任务,点“配置”:
1、在源码管理填写GIT地址,输入自己的GIT账户
2、点击”Add pre-build step"→“调用顶层Maven目标”,这里是要在编译目标服务之前先编译公共模块。如果不需要预先编译公共模块,可以跳过这一步。
在新增出来的maven目标,点击“高级”:
“目标”一项是执行的mvn命令,必须用install,maven仓库repository才会更新到。“pom"配置服务器上pom文件路径(在服务器Jenkins路径的workspace文件夹下会生成一个和任务名称一样的文件夹,存放在GIT拉取到的项目代码,找到你要编译的公共模块pom文件)。
多个公共模块就多增加一个Pre Steps:调用maven目标。
3、接下来是“Build”,在“Root POM”填写目标服务的pom文件路径,“Goals and options”填写mvn命令,跟上面一样clean install。
4、点击“Add post-build step”,增加编译完成之后的操作,执行shell脚本,这里因人而异,我的项目是用docker-compose部署,脚本就是备份,把编译好的jar包拷贝到之前搭建好的项目路径,执行之前编写好的部署脚本,完成更新。
因为我的部署脚本用到了docker-compose指令,必须先去Linux执行这个命令才不会报错:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
一样,上面有用到了mvn指令,也必须执行这个:
sudo ln -s /usr/local/maven/bin /usr/bin/mvn
这样一个自动化更新的任务就建立完成,出来点击立即构建即可,过程可以查看控制台信息。