capfiles を書き始めたばかりで、大量の重複したコードを見ているため、Capistrano で何かが欠けているに違いありません。このことを考慮
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 に「展開」タスクの単一の定義が存在する可能性があります。
タスクを一度書いて、役割を動的に指定する方法はありますか?