jenkins+maven+svn实现springboot项目的自动化部署过程
说明:部署springboot项目的jar
前提(参考:https://www.cnblogs.com/myitnews/p/11493779.html):
- 全局安全配置(前面配置过)
- 全局工具配置(前面配置过)
- 管理插件(根据需要安装插件,前面配置过)
- 已将项目代码提交到SVN仓库。
1. 创建任务
2. 配置项目
(1) General
勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10个。
(2) 源码管理
(3) 构建环境
代码构建的过程中会将日志打印出来。
(3) Build
clean install -Dmaven.test.skip=true -Ptest
(4) Post Steps
#!/bin/bash # /opt/jenkins/deploy/是新建的目录 # 大致意思就是进入目录,stop.sh:停止应用; replace.sh:拷贝应用jar; startup.sh:运行jar cd /opt/jenkins/deploy/ ./stop.sh ./replace.sh echo "Execute shell Finish" BUILD_ID=dontKillMe nohup /opt/jenkins/deploy/startup.sh &
在/opt/jenkins/deploy/目录下创建startup.sh、stop.sh、replace.sh。
stop.sh、replace.sh和startup.sh内容如下:
stop.sh
#!/bin/bash # stop.sh # shelloworld-0.0.1-SNAPSHOT.jar是生成的jar包名称 echo "Stopping SpringBoot" pid=`ps -ef | grep shelloworld-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'` if ["$pid" == ""] then echo "helloboot is already stop!" else echo "kill -9 的pid:"+$pid kill -9 $pid fi
replace.sh
#!/bin/bash # replace.sh # HelloWorld 是在Jenkins中创建的任务名称 # /opt/jenkins/project 是新建存放jar包的目录,将Jenkins生成的jar包拷贝到这个目录下 cp /root/.jenkins/workspace/HelloWorld/target/shelloworld-0.0.1-SNAPSHOT.jar /opt/jenkins/project
startup.sh
#!/bin/bash # startup.sh java -jar /opt/jenkins/project/shelloworld-0.0.1-SNAPSHOT.jar>log.file 2>&1&
3. 立即构建,查看控制台输出,成功后,浏览器访问。
时刻与技术进步,每天一点滴,日久一大步!!!
本博客只为记录,用于学习,如有冒犯,请私信于我。