0
組み込みのlinked_files
を使用して、ロールに基づいて異なるファイルをリンクするようにCapistrano 3を構成することはできますか?Capistrano 3の役割ベースのリンクファイル
私は役割がworker
のサーバーを持っていますが、ウェブ関連のファイルをリンクする必要はありません(sitemap.xml
ファイル)。
組み込みのlinked_files
を使用して、ロールに基づいて異なるファイルをリンクするようにCapistrano 3を構成することはできますか?Capistrano 3の役割ベースのリンクファイル
私は役割がworker
のサーバーを持っていますが、ウェブ関連のファイルをリンクする必要はありません(sitemap.xml
ファイル)。
短い回答:いいえ、Capistranoの変数(例::linked_files
)はグローバルであり、ホスト/ロールごとに異なる値を持つことはできません。
deploy:symlink:linked_files
とdeploy:check:linked_files
のタスクを独自のカスタム実装で再定義することで、動作させることができます。その実装は、例えば、異なる役割に対して異なるリンクを実行することができる。あなたがカピストラーノプラグインは:linked_files
に物事を注入カピストラーノ「魔法」を失う
Rake::Task["deploy:symlink:linked_files"].clear_actions
task "deploy:symlink:linked_files" do
on release_roles(:web) do
execute :ln, "-s", ...
execute :ln, "-s", ...
# etc.
end
on release_roles(:app) do
execute :ln, "-s", ...
execute :ln, "-s", ...
# etc.
end
end
しかし、私は2つの理由から、この反対をお勧めします
ありがとう、素晴らしい要約。私は 'deploy:symlink:linked_files'の後に実行され、' web'ロールでのみ呼び出される余分なタスクを追加しました。 –