2019独角兽企业重金招聘Python工程师标准>>>
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到目标目录进行操作。脚本内容如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 1DATE=$(date +%Y%m%d)
2JAVA_HOME=/usr/local/jdk1.8.0_202
3CLASSPATH=$JAVA_HOME/lib/
4PATH=$PATH:$JAVA_HOME/bin
5export PATH JAVA_HOME CLASSPATH
6JARFILE=/usr/local/bootproject/jshERP2.0.jar
7
8cd /usr/local/bootproject
9ps -ef | grep jshERP2.0.jar | grep -v grep | awk '{print $2}' | xargs kill -9
10
11java -jar $JARFILE > out.log &
12if [ $? = 0 ];then
13 sleep 30
14 tail -n 50 out.log
15fi
16
17ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf
18
19
7)参考:
https://blog.csdn.net/zjh_746140129/article/details/80904789
https://blog.csdn.net/zjh_746140129/article/details/80904876