2

私が正しく理解している場合、capistrano v3 を使用した標準の git deploy 実装は、すべてのロールに同じリポジトリをデプロイします。いくつかのタイプのサーバーがあり、各タイプに独自のコード ベースと独自のリポジトリがある、より難しいアプリがあります。たとえば、私のデータベース サーバーは、コードを展開する必要はありません。

capistrano v3 でこのような問題に取り組むにはどうすればよいですか?

ロールごとに独自の展開タスクを作成する必要がありますか?

4

2 に答える 2

0

capistrano v3 でこのような問題に取り組むにはどうすればよいですか?

特定の環境では、一部のアクションを実行するためにコードが必要になるため、すべてのサーバーがコードを取得します。たとえば、典型的なセットアップでは、webサーバーは静的アセットを必要とし、サーバーappはアプリを提供するためにdbコードを必要とし、サーバーは移行を実行するためにコードを必要とします。

お使いの環境でそれが当てはまらず、サーバー上のコードを一部の役割で使用したくない場合は、プル リクエストを簡単に送信して、no_release機能を Cap2 から Cap3 に追加し直すことができます。

もちろん.rake、Gem からファイルを取り出して Capfile にロードすることもできます。これは、ツールを使用するための完全に有効な方法であり、独自のニーズに合わせて変更することができます。

一般的なアプローチは、たとえば、DB サーバーにコードが必要ない場合、なぜデプロイ ファイルに記載されているのでしょうか?

于 2013-10-18T07:54:17.590 に答える