2015-12-27 142 views
0

使用案例:
假设我有一个定义的Capistrano任务,例如cap resque:start
需要:set的值,例如我的deploy.rb中的工人数量。
假设我想在服务器重启时启动resque工作。
我可以将它们copypaste一些,重启后脚本,但如果我改变:set量的工人或其他CONFIGS的,我需要改变后重启脚本为好。如何从远程服务器本地运行Capistrano任务?

取而代之的是,我们可以执行我们的重启后脚本cap locally:resque:start,它会自动采取我们deploy.rb集工的电流量。

+0

为什么地球上downvote,这是一个非常有用的功能。 – lakesare

回答

0
  1. 的Gemfile,从:development添加所有Capistrano的宝石:production
  2. 创建任务cap locally:resque:start

    namespace :locally do 
        namespace :resque do 
        task :start do 
         run_locally { Rake::Task["resque:start"].execute } 
        end 
        end 
    end 
    
  3. 添加远程主机到您的authorized_keys远程主机上(因为Capistrano的3要求即使我们在本地执行任务也是如此,幸运的是,连接到本地主机的ssh连接将会很快):

    1. ssh-keygen -t rsa
    2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    3. chmod og-wx ~/.ssh/authorized_keys
  4. 现在,您的远程生产服务器上,cap production locally:resque:start

相关问题