部署 用 Jenkins 做的服务器工程的构建,构建中权限问题怎么解决

liguangsong · 2016年01月19日 · 最后由 diaojunxian 回复于 2016年10月25日 · 5140 次阅读

用 jenkins 做的服务器工程的构建 在构建时加上了一个 execute shell 步骤其中执行

bundle install 
bundle exec rake assets:precompile RAILS_ENV=production

构建中发生错误

rake aborted!
Errno::EACCES: Permission denied - /var/lib/jenkins/workspace/bookkeeper_map/tmp/cache/assets/production/sprockets/v3.0/WScdt_VRi73A4j9G5G1M-1gORwVn1JYvfmJNvcPYCTE.cache

这是哪里的问题

jenkins 用户组的问题?

问题 1.如果是单节点 Master 情况请看一下启动 java -jar jenkins.jar 的用户是不是有 ruby 的权限,检查一下 workspace 的文件件权限。 问题 2.如果是 slave 的话,请查看一下 ssh 过去的用户有没有权限 最后,jenkins 走 slave 的话而且用 rvm 管理的话,经常不靠谱……最好还是老实点在脚本前面把环境变量都写了吧

3 楼 已删除

@akirapanda 谢谢,问题解决了,但是我的 jenkins 的 execute shell 重启 nginx 是说我权限不足

#2 楼 @akirapanda 请问 如何查看 ssh 过去的用户有没有权限,我现在的问题是 jenkins 上执行 ruby -v 的版本和本地命令执行 ruby -v 的版本不一样?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号