在本地运行capistrano任务

时间:2015-11-03 10:26:13

标签: ruby-on-rails ruby ruby-on-rails-4 rake capistrano3

在我的deploy.rb文件中,我有很多任务,其中一个任务重启了独角兽和一些服务。例如:

namespace :deploy do
  task :restart do
    invoke 'unicorn:restart' # using capistrano3-unicorn gem
    invoke 'some_service:restart'
    ...
  end
end

现在我需要通过生产服务器上的控制台在本地运行相同的任务。我不想复制我的代码,创建与rake任务相同的任务。我想运行此任务,该任务已存在并在deploy.rb文件中定义,但我想在本地执行,而不是远程执行。有可能吗?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么您有Capistrano任务,您可以在开发框中作为部署的一部分运行,并在服务器上执行。您现在想要在服务器上运行特定命令,并且您已登录到服务器。

我不知道怎么做到这一点,但我建议一个可以让你得到你想要的替代方案。如果您在开发框中运行bundle exec cap production unicorn:restart等特定任务,它将在服务器上执行该任务。