jenkins 自动部署启动程序

export JAVA_HOME=/usr/local/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export GRADLE_HOME=/usr/local/gradle-4.6
export PATH=$GRADLE_HOME/bin:$PATH
PID=$(ps -ef|grep helloworld |grep -v grep | awk {'print $2'})
echo $PID
if [ -n "$PID" ]; then
   kill -9 $PID
fi
gradle build -p /var/lib/jenkins/workspace/helloworld
nohup java -jar /var/lib/jenkins/workspace/helloworld/build/libs/helloworld-0.0.1.jar > /var/lib/jenkins/workspace/output.txt&

------------------------------------------------------------------

在jenkins里面直接执行命令,或者直接执行shell script :

  1. 找到当前执行的pid
    1. 找pid: ps -ef | grep *
    2. 取出当前grep pid : grep -v grep
    3. 提取pid  awk {'print $2'}
  2. 赋变量:PID=$(ps -ef |grep ** |grep -v grep |awk {'print $2'})
  3. 判断当前pid,不为空,则杀死进程
  4. 重新build
  5. nohup 启动

注意:

  1. 指定JAVA_HOME,GRADLE_HOME,不然执行java,gradle命令时,会找不到命令
  2. 查询pid,指定尽量具体的程序,如果找到多个pid,不光不能正常运行,而且jenkins也会被玩死
  3. nohup运行程序,把日志打印到指定位置,不然nohup不起作用,程序会在jenkins中窗口运行   > /log.log

参考(感谢):

  1. 存储pid到某个位置,然后去找 https://www.cnblogs.com/vipsoft/p/5252306.html
  2. 找到pid,然后杀死 https://stackoverflow.com/questions/37738308/using-ps-and-awk-to-get-pid-then-killing-it
  3. linux判断字符串 if -n https://linuxacademy.com/blog/linux/conditions-in-bash-scripting-if-statements/

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值