Jenkins自动部署Java程序

坑点1.安装新环境需要重启Jenkins
坑点2.执行nohup java后台命令需要加上BUILD_ID=dontKillMe 避免进程被杀

流程

  1. 下载Jenkins war包
  2. 启动Jenkins
  3. 创建流水线
  4. 添加git仓库
  5. 执行编译脚本

附件1 Jenkins重启脚本

#重启Jenkins的脚本
#配置jenkins路径
jarPath=/opt/jenkins/jenkins.war
output=/opt/jenkins/log
pid=`ps -ef | grep $jarPath | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
    echo "kill ${jarPath} 的pid:$pid"
    kill -9 $pid
    sleep 3
fi
#如果添加了环境需要重启Jenkins并执行以下命令
source /etc/profile
echo "start $jarPath"
nohup java -jar $jarPath  > $output 2>&1 &
ps -ef | grep "$jarPath" | grep -v grep

附件2 Java构建发布脚本

path=/opt/project/demo-0.0.1-SNAPSHOT.jar
pid=`ps -ef | grep $path | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
    echo "kill $path 的pid:$pid"
    kill -9 $pid
    sleep 3s
else
    echo "no running"
fi

source /etc/profile
echo "start $path"
#这里需要加上BUILD_ID=dontKillMe避免Jenkins执行shell之后杀掉衍生进程
BUILD_ID=dontKillMe nohup java -jar $path > /opt/project/demo.log 2>&1 &
ps -ef | grep $path | grep -v grep

相关文章

基础环境、流程图1)流程图jenkinspipeline发布应用2)、jenki...
本节是建立在流水线入门内容的基础上,而且,应当被当作一个...
Linuxcentos7安装Jenkins(jenkins-2.227-1.1.noarch.rpm)时遇...
作为一个拥有很多账号的当代美少女,忘记用户名密码什么的是...
Jenkins、GitLab和Maven(Nexus)完成自动构建迈向持续集成持...
 下载文档https://www.jenkins.io/zh/download/  Debian下...