在Jenkins执行完打包,执行shell脚本会报Permission denied
原因:执行jenkins的用户权限问题
执行下面命令可以看到Jenkins以哪个用户操作
vim /etc/sysconfig/jenkins
如下:执行账户是jenkins
Type: string
Default: “jenkins”
ServiceRestart: jenkins
Unix user account that runs the Jenkins daemon
Be careful when you change this, as you need to update
permissions of $JENKINS_HOME and /var/log/jenkins.
JENKINS_USER=“jenkins”
1
2
3
4
5
6
7
8
9
解决方案有几种
第一种:jenkins改成root,以root账户执行
Type: string
Default: “jenkins”
ServiceRestart: jenkins
Unix user account that runs the Jenkins daemon
Be careful when you change this, as you need to update
permissions of $JENKINS_HOME and /var/log/jenkins.
JENKINS_USER=“root”
1
2
3
4
5
6
7
8
9
重启jenkins
sudo systemctl restart jenkins
第二种:给相应的操作对象权限设置成777权限,任何用户都能操作
第三种:给相应的用户操作对象的权限
在Jenkins中遇到执行打包后运行Shell脚本出现Permission denied错误,原因是执行Jenkins服务的用户权限不足。解决方法包括:1) 将Jenkins用户改为root;2) 给相关文件或目录设置777权限;3) 调整文件权限以匹配Jenkins用户。每种方法都有其优缺点,例如改用root用户可能带来安全风险,而设置777权限可能导致安全性降低。正确做法是根据实际情况调整文件权限,确保Jenkins用户有足够的执行权限。
5614

被折叠的 条评论
为什么被折叠?



