我想在部署后重新启动瘦Web服务器。为此,我在config/deploy.rb
中有以下代码:
namespace :deploy do
desc 'Restart application...'
task :restart do
on roles(:app) do
within "#{current_path}" do
execute "bundle exec thin -C /etc/thin/app.yml restart"
end
end
end
(...)
所以我想在当前路径文件夹中执行bundle exec thin -C /etc/thin/app.yml restart
命令。
这会引发错误:
SSHKit :: Runner :: ExecuteError:在主机上执行时出现异常...:bundle exec thin -C /etc/thin/reboot.yml restart exit status:127
/ EDIT由于早期代码中的语法错误,显示了另一个错误。用户RAJ在下面的回答中找到了此错误
此任务出现相同的错误:
task :restart do
on roles(:app) do
within "#{current_path}" do
execute :bundle, "thin -C /etc/thin/reboot.yml restart"
end
end
如何从部署脚本运行bundle?
答案 0 :(得分:3)
如错误消息所示,您的within
试试这个:
within "#{current_path}" do
execute "bundle exec thin -C /etc/thin/app.yml restart"
end
而不是
within "#{current_path}"
execute "bundle exec thin -C /etc/thin/app.yml restart"