【发布时间】:2013-10-03 21:21:51
【问题描述】:
我必须在 Capistrano 中遗漏一些东西,因为我刚刚开始编写 capfile,并且正在查看大量重复的代码。考虑一下这个
role :dev, "dev1", "dev2"
role :prod, "prod1", "prod2"
desc "Deploy the app in dev"
task :deploy_dev, :roles => :dev do
run "sudo install-stuff"
end
desc "Deploy the app in prod"
task :deploy_prod, :roles => :prod do
run "sudo install-stuff"
end
IMO 想要在 dev 或 prod 中运行完全相同的任务是完全合理的,但据我所知,Capistrano 会让我编写 2 个任务来指定不同的节点......
好像你可以参考 CLI 上的角色
cap deploy dev
cap deploy prod
capfile 中可能有一个“部署”任务的定义,而不是每组服务器都有一个重复的定义。
有没有办法一次编写任务并动态指定角色?
【问题讨论】:
标签: capistrano code-duplication