我的项目有一个包含爬行,NLP等步骤的多步骤管道,但我只是将它们称为Step1,Step2等.此外,我希望能够部署到不同的环境(dev,prod,等等).
我想我将使用Capistrano的多级组件来部署到不同的环境(例如,cap dev deploy vs cap prod deploy).
对每个管道步骤使用角色似乎也很直观.但是,每个步骤都相当独立于管道的其余部分运行,因此每个步骤都可以独立于其他步骤重新启动/部署.看起来Capistrano似乎并不明确支持仅针对特定角色运行任务.这样做的好方法是什么?
是否为每个角色专门执行此定义任务的最佳方式是什么?如果角色之间有一些共同的任务怎么办?也许辅助方法就是那里的答案?
解决方法
不确定这正是你想要的,但是当我想对特定角色做某事时,我使用了capistrano
shell.例如,假设我想部署但仅限于我的应用服务器,我可能会执行以下操作:
cap production shell cap>with app cap>!deploy #or any other cap task you have
如果需要,您也可以按机器范围.再次:
cap production shell cap>on <machine name or ip> cap>!deploy #or any other cap task you have
希望能帮助到你,
斯科特