天天看点

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