Jenkins构建项目时运行shell的坑(Operation not permitted)

本文介绍如何使用Jenkins配合GitHub自动部署Java项目,并分享了解决进程管理和日志记录等问题的shell脚本实现。

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

  这两天闲着没事,装了一个Jenkins在我那台服务器上,正好能够部署我放在GitHub上的项目,不用自己手动去导包之类的了。

说来也惭愧啊,搞了半天,我的shell脚本本来写在了这里:

然后各种权限问题,索性就在写个脚本,就能完美解决了。

脚本代码:

#!/bin/bash
#杀死之前的进程
input1=niuren.jar
logDate=$(date "+%Y年-%m月-%d日%H:%M:%S")
PID=$(ps -ef | grep  $input1  | grep -v grep | awk '{print $2}')

if ps -p $PID > /dev/null
then
   echo "结束进程$PID"
  sudo  kill $PID

   # Do something knowing the pid exists, i.e. the process with $PID is running
fi
echo $PID
echo "清除原项目"
#创建日志
   touch /data/javaproject/logs/$logDate.txt
   rm -rf /data/javaproject/niuren.jar
   cp /var/lib/jenkins/workspace/NiuRenSec/target/niuren.jar /data/javaproject/
 nohup java -jar /data/javaproject/niuren.jar -> /data/javaproject/logs/$logDate.txt 2>&1 &
echo "启动成功"

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值