仅针对特定角色运行Capistrano任务

JZC*_*JZC 8 capistrano roles ruby-on-rails task

我的项目有一个多步骤管道,包括一些步骤,如爬行,NLP等,但我只是将它们称为Step1,Step2等.此外,我希望能够部署到不同的环境(dev,prod,等等).

我想我将使用Capistrano的多级组件来部署到不同的环境(例如,cap dev deploy vs cap prod deploy).

对每个管道步骤使用角色似乎也很直观.但是,每个步骤都相当独立于管道的其余部分运行,因此可以独立于其他步骤重新启动/部署每个步骤.看起来Capistrano似乎不支持仅针对特定角色运行任务.这样做的好方法是什么?

是否为每个角色专门执行此定义任务的最佳方式是什么?如果角色之间有一些共同的任务怎么办?也许辅助方法就是那里的答案?

irf*_*rfn 1

查看此讨论创建根据角色执行不同任务的 Capistrano 任务

task :stop_memcached, :roles => :memcache do 
...
end
Run Code Online (Sandbox Code Playgroud)