私が正しく理解している場合、capistrano v3 を使用した標準の git deploy 実装は、すべてのロールに同じリポジトリをデプロイします。いくつかのタイプのサーバーがあり、各タイプに独自のコード ベースと独自のリポジトリがある、より難しいアプリがあります。たとえば、私のデータベース サーバーは、コードを展開する必要はありません。
capistrano v3 でこのような問題に取り組むにはどうすればよいですか?
ロールごとに独自の展開タスクを作成する必要がありますか?
私が正しく理解している場合、capistrano v3 を使用した標準の git deploy 実装は、すべてのロールに同じリポジトリをデプロイします。いくつかのタイプのサーバーがあり、各タイプに独自のコード ベースと独自のリポジトリがある、より難しいアプリがあります。たとえば、私のデータベース サーバーは、コードを展開する必要はありません。
capistrano v3 でこのような問題に取り組むにはどうすればよいですか?
ロールごとに独自の展開タスクを作成する必要がありますか?
capistrano v3 でこのような問題に取り組むにはどうすればよいですか?
特定の環境では、一部のアクションを実行するためにコードが必要になるため、すべてのサーバーがコードを取得します。たとえば、典型的なセットアップでは、web
サーバーは静的アセットを必要とし、サーバーapp
はアプリを提供するためにdb
コードを必要とし、サーバーは移行を実行するためにコードを必要とします。
お使いの環境でそれが当てはまらず、サーバー上のコードを一部の役割で使用したくない場合は、プル リクエストを簡単に送信して、no_release
機能を Cap2 から Cap3 に追加し直すことができます。
もちろん.rake
、Gem からファイルを取り出して Capfile にロードすることもできます。これは、ツールを使用するための完全に有効な方法であり、独自のニーズに合わせて変更することができます。
一般的なアプローチは、たとえば、DB サーバーにコードが必要ない場合、なぜデプロイ ファイルに記載されているのでしょうか?