用例:
假设我定义了Capistrano任务,例如cap resque:start
它需要:set
个值,例如deploy.rb
中的工作人员数量
假设我想在服务器重启时启动resque worker
我可以将它们复制到一些重新启动后脚本,但如果我更改:set
工作量或其他配置,我需要更改重新启动后脚本也是如此。
我们可以在重新启动后脚本中执行cap locally:resque:start
,而不会这样做,这将自动获取我们在deploy.rb
中设置的当前工作量。
答案 0 :(得分:0)
:development
中的所有Capistrano宝石添加到:production
创建任务cap locally:resque:start
:
namespace :locally do
namespace :resque do
task :start do
run_locally { Rake::Task["resque:start"].execute }
end
end
end
将远程主机添加到远程主机上的authorized_keys
(因为即使我们在本地执行任务,Capistrano 3也需要设置阶段。幸运的是,ssh连接到localhost会很快):
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod og-wx ~/.ssh/authorized_keys
现在,在您的远程生产服务器上cap production locally:resque:start
。