Jenkins是一个插件化的部署工具,对于一个Spring Boot项目通过Jenkins实现自动化部署,大概需要三个流程:
1)确保Jenkins上Git,Maven的正确配置和使用(略)
2)在Jenkins上安装Publish over SSH插件,系统管理->插件管理->可选插件->搜索publish over ssh->勾选后,点击直接安装:
3)配置Publish over SSH, 系统管理->系统配置->在Publish over SSH中增加服务器
需要确保需要连接的服务器开启了SSH服务,
4)新建一个任务,类型选择“构建一个maven项目”
5)配置任务:
Git配置(略),构建机后续步骤配置:
Build是使用maven进行的构建操作,Jenkins服务器会从Git服务器上拉取代码到本地workspace中,根据pom文件和指定clean install指令将工程打成jar包。
Post Steps是Build成功之后,将文件发送到指定的SSH服务器上,源文件为target/*jar, 远程目录可指定,文件上传后的运行脚本可指定。
6)在目标服务器上准备脚本,由于Publish over SSH是在登录用户的根目录~上执行操作,在脚本上需要cd到目标目录进行操作。脚本内容如:
DATE=$(date +%Y%m%d)JAVA_HOME=/usr/local/jdk1.8.0_202CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLASSPATHJARFILE=/usr/local/bootproject/jshERP2.0.jarcd /usr/local/bootprojectps -ef | grep jshERP2.0.jar | grep -v grep | awk '{print $2}' | xargs kill -9java -jar $JARFILE > out.log &if [ $? = 0 ];then sleep 30 tail -n 50 out.logfils -lt|awk 'NR>5{print $NF}'|xargs rm -rf
7)参考: