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_202
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
JARFILE=/usr/local/bootproject/jshERP2.0.jar
cd /usr/local/bootproject
ps -ef | grep jshERP2.0.jar | grep -v grep | awk '{print $2}' | xargs kill -9
java -jar $JARFILE > out.log &
if [ $? = 0 ];then
sleep 30
tail -n 50 out.log
fi
ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf
7)参考:
https://blog.youkuaiyun.com/zjh_746140129/article/details/80904789
https://blog.youkuaiyun.com/zjh_746140129/article/details/80904876