今天遇到一个问题,就是有一个sh文件,在xshell里面可以正常运行,但是在jenkins里面怎么都运行不了。各种提示权限不足(Operation not permitted)。
给了各种权限。chmod +s /usr/bin/netstat或者直接给root都没啥用。后面想了一下,是不是可以在jenkins在执行时就使用root执行呢?然后实现它。
- 修改配置文件/etc/sysconfig/jenkins
JENKINS_USER=“root”
JENKINS_GROUP=“root”
2.修改配置文件 /usr/lib/systemd/system/jenkins.service
将
User=root
Group=root
在这顺便提一嘴。我发现jenkins启动好像是找的这个文件。如果启动不了的同学可以试试配置一下这个文件的java地址
执行下,否则不生效
systemctl daemon-reload
重启下jenkins就可以了:
systemctl restart jenkins
然后果然成功
然后我启动之后发现另一个问题。
我将java服务启动成功后,竟然自动又关掉了。我真是服了
然后找到了方法。
在jenkins的shell里面加上,加在第一行就行
BUILD_ID=DONTKILLME
解决问题。
总结一下,jenkins真坑。