Jenkins自动部署Java程序

本文详细介绍了使用Jenkins进行持续集成的流程,包括Jenkins的安装、流水线创建、Git仓库集成以及编译脚本执行。特别强调了在执行nohup命令时需要设置BUILD_ID=dontKillMe以防止Jenkins意外终止后台进程。同时提供了重启Jenkins和Java构建发布的脚本示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

坑点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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值