我遇到了一个我已经研究了好几天的问题。放弃了,我决定在这里问。
我正在尝试修复权限被拒绝的 CI 异常。尝试运行 .sh 脚本时会出现以下错误。
+ find . -name '*.sh' -type f -exec chmod +x '{}' ';'
+ scripts/run_ci.py --push-merge
/tmp/hudson1523957012397738349.sh: line 3: scripts/run_ci.py: Permission denied
Build step 'Execute shell' marked build as failure
我尝试在 CI 的“Execute Shell”中添加“chmod”命令,但没有成功。下面正是我写的。
find . -name "*.sh" -exec chmod +x {} \;
但是在错误日志中,括号和分号是用 ' ' 执行的,反冲完全消失了。
补充说明:我也尝试在命令中添加“”,但仍然收到如下错误:
find . -name "*.sh" -exec chmod +x "{}" "\;"
我的问题是:
会不会是''符号导致命令失败?
如果是这样,我如何确保没有将 '' 添加到命令中?
如果没有,我该如何解决 CI 的权限问题?
评论:
出于某种原因我不能在那里发表评论,但我稍后会在我能够时对你的评论投赞成票,但感谢你指出 .py 没有获得更改的权限以及列表目录的东西.
我非常感谢它,因为我已经为此苦苦挣扎了好几天。 TT.TT
最佳答案
错误说 run_ci.py
的权限是错误的。您的 find
命令仅向 .sh
文件添加执行权限,而不是 .py
文件。
– 巴尔马尔
关于linux - .sh 文件的 CI Jenkins 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41294415/