jenkins 构建后shell_Jenkins 自动构建Springboot 工程 , 构建后执行shell 脚本失效(无效)。-Go语言中文社区...

在Jenkins中构建Springboot应用时,遇到构建成功但shell脚本(如front-v2-run.sh restart)未能正确启动jar服务的问题。经过排查,发现Jenkins可能默认会结束衍生进程,解决办法是修改脚本,使用绝对路径指定Java执行文件,例如`nohup /usr/local/jdk1.8/bin/java -jar $APP_NAME > /data/jenkins/app/admin.log 2&>1 &`。调整后,脚本能够正常启动服务。
摘要由CSDN通过智能技术生成

周末学习了一下 jekins。安装、配置、构建一路很顺利。但是问题来了,最后jenkins 提示构建成功,并且提示脚本执行成功。

但是 Centos 上的 查了一下jar 文件的进程并没有启动成功。

安装,部署,配置,网上的博客一大堆。这里给出一两个范本。

感谢周立大哥, 和 纯洁的微笑大哥。

我这里的配置是打包成功zhi之后,执行 front-v2-run.sh restart的脚本。

这是一个根据输入参数 status/stop/start/restart 来 后台运行jar 文件的 脚本。

脚本内容。

#!/bin/bash

#这里可替换为你自己的执行程序,其他代码无需更改

APP_NAME=/data/jenkins/app/front-v2.jar

#使用说明,用来提示输入参数

usage() {

echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"

exit 1

}

#检查程序是否在运行

is_exist(){

pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `

#如果不存在返回1,存在返回0

if [ -z "${pid}" ]; then

return 1

else

return 0

fi

}

#启动方法

start(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is already running. pid=${pid} ."

else

nohup java -jar $APP_NAME > /data/jenkins/app/admin.log 2&>1 &

echo "App is runing success!"

fi

}

#停止方法

stop(){

is_exist

if [ $? -eq "0" ]; then

kill -9 $pid

else

echo "${APP_NAME} is not running"

fi

}

#输出运行状态

status(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is running. Pid is ${pid}"

else

echo "${APP_NAME} is NOT running."

fi

}

#重启

restart(){

stop

start

}

#根据输入参数,选择执行对应方法,不输入则执行使用说明

case "$1" in

"start")

start

;;

"stop")

stop

;;

"status")

status

;;

"restart")

restart

;;

*)

usage

;;

esac

============================================

经过一段时间的查找。刚开始看到说是这样的。

1.Jenkins默认会在Build结束后Kill掉所有的衍生进程。(设置不杀掉启动脚本的配置)

2.使用组合指令。

3.jenkins 在执行shell 命令时,只认 绝对路径 而且我的JAVA_HOME也是没问题的。

然后就把脚本里的    nohup java -jar $APP_NAME > /data/jenkins/app/admin.log 2&>1  & 改成了

nohup /usr/local/jdk1.8/bin/java -jar $APP_NAME > /data/jenkins/app/admin.log 2&>1 &

然后重新构建, jenkins 构建成功, ps -ef | grep front-v2.jar .

ok 就这样解决了。

再次感谢各位大佬的博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值