常规安装不做介绍,把改用的插件补齐就好了
jenkis启动脚本如下
nohup java -jar jenkins.war --logfile=server.log --httpPort=8080 > server.log 2>& 1 &
直接使用nohup java -jar 有问题,不知道为什么
maven配置
clean install -pl eam-server -am -amd -Pdev -Dmaven.test.skip=true
启动后的脚本
#!/bin/bash
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=server
#指定最后编译好的jar存放的位置
www_path=/home/fwq/cloud/server/
#Jenkins中编译好的jar位置
jar_path=/var/lib/jenkins/jobs/shaw/workspace/shaw-web/target/
#Jenkins中编译好的jar名称
jar_name=server.jar
#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程
pid=$(cat /home/fwq/cloud/server/pid)
#进入指定的编译好的jar的位置
cd ${jar_path}
#将编译好的jar复制到最后指定的位置
cp ${jar_path}/${jar_name} ${www_path}
#进入最后指定存放jar的位置
cd ${www_path}
#杀掉以前可能启动的项目进程
kill -9 ${pid}
#启动jar,指定SpringBoot的profiles为test,后台启动
java -jar ${jar_name} &
#将进程ID存入到shaw-web.pid文件中
echo $! > /home/fwq/cloud/server/pid
如果需要判断java有没有成功启动(输出了日志到logs/info.log)可以用以下配置替换java -jar
#获取当前启动成功的次数
okCount=`grep -c 'Started' logs/info.log`
echo 历史启动成功数 "$okCount"
errorCount=`grep -c 'APPLICATION FAILED TO START' logs/info.log`
echo 历史启动失败数 "$errorCount"
#启动jar,指定SpringBoot的profiles为test,后台启动
java -jar ${jar_name} &
timer=0
while [ -f logs/info.log ]
do
okresult=`grep -c 'Started' logs/info.log`
errorresult=`grep -c 'APPLICATION FAILED TO START' logs/info.log`
if [[ "$okresult" > "$okCount" ]]
then
echo "springboot start ........."
break
else
sleep 1s
timer=$(( $timer + 1 ))
fi
if [[ "$errorresult" > "$errorCount" ]]
then
echo "springboot start fail........."
exit 1
fi
if [[ "$timer" == "180" ]]
then
echo "springboot start fail out of timer........."
exit 1
fi
done
参考文档
https://blog.csdn.net/wshl1234567/article/details/78999920