ruby-on-rails – Capistrano每当宝石 – bin / rails:权限被拒
发布时间:2020-12-17 02:23:04 所属栏目:百科 来源:网络整理
导读:我有一个配置的生产环境,它可以部署和工作.虽然我遇到了一个我无法弄清楚的辅助问题. 我正在运行Whenever gem来执行几个cron作业,Whenever gem capistrano实现让它们正确部署并且脚本正在执行.虽然在inside.log中我收到以下输出: /bin/bash: bin/rails: Per
我有一个配置的生产环境,它可以部署和工作.虽然我遇到了一个我无法弄清楚的辅助问题.
我正在运行Whenever gem来执行几个cron作业,Whenever gem capistrano实现让它们正确部署并且脚本正在执行.虽然在inside.log中我收到以下输出: /bin/bash: bin/rails: Permission denied 该脚本使用跑步者从RSS源进行更新,虽然我使用Capistrano部署到新服务器,但这在先前的生产部署中没有发生任何问题. 我四处搜索并找到了这个question,虽然每次部署时,我都必须使bin / rails可执行(由于Capistrano的日期戳部署).有没有办法让Capistrano在部署时让我的文件可执行?或者使bin / rails可执行存在一些固有的安全风险? 解决方法
我能够通过以下方法解决我的问题(包括重启包括的名称空间为了简洁):
namespace :deploy do desc 'Restart application' task :restart do on roles(:app),in: :sequence,wait: 5 do # Passenger restart mechanism execute :mkdir,'-p',"#{ release_path }/tmp" execute :touch,current_path.join('tmp/restart.txt') end end after :publishing,:restart after :restart,:x_bin_rails do on roles(:web),in: :groups,limit: 3,wait: 10 do within release_path do execute :chmod,"u+x bin/rails" end end end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |