我正在尝试在 jenkins 中运行 shell 脚本,并已授予该文件的所有权限。
在运行中,jenkins 提到了以下错误
Started by user admin
Building in workspace /var/lib/jenkins/workspace/Test
[Test] $ /bin/sh -xe /tmp/jenkins2660493526195024199.sh
+ /home/admin/Scripts/attest.sh
/tmp/jenkins2660493526195024199.sh: line 2: /home/admin/Scripts/attest.sh: Permission denied
Build step 'Execute shell' marked build as failure
Finished: FAILURE
文件权限是
[root@prod-server Scripts]# getfacl attest.sh
# file: attest.sh
# owner: jenkins
# group: jenkins
user::rwx
group::rwx
other::rwx
我无法理解为什么即使文件具有完全权限也无法访问该文件。有什么建议 ?
答案1
最近詹金斯遇到了非常相似的问题。检查用户jenkins对绝对文件路径中的每个文件是否具有可执行访问权限。即 home、admin,脚本也应该可供用户 jenkins 执行。如果这些目录不属于 jenkins 并且属于未添加 jenkins 的组,则应将可执行权限授予其他用户。或者您可以将 jenkins 添加到拥有该文件的组。但是,在这种情况下,您必须重新启动 jenkins 服务器,以便为用户 jenkins 重新加载具有新组访问权限的配置。