# 前提要求
1:安装好jenkins
2:安装好插件
3:配置好全局配置
JDK
MAVEN
# 实战步骤
1:创建stop.sh
# 将应用停止
#stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep springboot-study-swagger-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
说明:
springboot-study-swagger-0.0.1-SNAPSHOT.jar 此为项目名字,改为你自己的项目即可 其他不用改
2:创建replace.sh
#! 此处为你自己的项目名字
r_name=springboot-study-swagger-0.0.1-SNAPSHOT.jar
#!编译好的jar包存放地址:一般是jenkins 编译的工作路径
file_path=/var/lib/jenkins/workspace/swagger2/springboot-study-swagger/target/
#!将现有的jar备份后,将新的jar包替换
file="/zlb/jenkins/springboot-study-swagger-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
mv /zlb/jenkins/springboot-study-swagger-0.0.1-SNAPSHOT.jar /zlb/jenkins/springboot-study-swagger-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
cp /var/lib/jenkins/workspace/swagger2/springboot-study-swagger/target/springboot-study-swagger-0.0.1-SNAPSHOT.jar /zlb/jenkins
注意以上2个文件 要给执行权限:
chmod u+x file.sh 就表示对当前目录下的file.sh文件的所有者增加可执行权限
此处如果使用windows的notepad++写好之后再上传上去,有可能出现一个错误
在vim中修改下文件的格式就好了,直接输入":",然后在":“之后输入"set ff”
把格式改为unix,方法是输入":set ff=unix",也可以输入":set fileformat=unix"
3:jenkins配置
创建一个maven项目
如果你没有第二个选项,需要安装 Maven Integration 插件
勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10个
源码管理,选择git,配置Git相关信息
构建环境中勾选“Add timestamps to the Console Output”,代码构建的过程中会将日志打印出来
在Build中输入打包前的mvn命令,如
clean install -Dmaven.test.skip=true -Ptest
点击Add post-build step,选择 Excute Shell
#根据自己stop.sh、replace.sh脚本地址写
cd /zlb/jenkins
sh stop.sh
sh replace.sh
BUILD_ID=dontKillMe nohup java -jar /zlb/jenkins/springboot-study-swagger-0.0.1-SNAPSHOT.jar >> /zlb/jenkins/log/swagger`date +%Y-%m-%d`.out 2>&1 &
>> /zlb/jenkins/log/swagger`date +%Y-%m-%d`.out 2>&1
这个是日志输出,按每天输出
完成
然后去构建
注意 :在jenkins构建的东西都是jenkins用户的权限 这里使用到了root相关的权限 所以把所以涉及到的
文件夹都赋权
# 如这样
chown -R jenkins:jenkins /zlb/