1

ウェブで見つけたいくつかの引用を次に示します。

段階:

Beanstalk ブログより

「1 つのレシピをセットアップして、コードを複数の場所にデプロイできます。」

Github から

「運用サーバーとステージング サーバーがあります。当然、運用とステージングの 2 つの展開ステージが必要です。アプリケーションをゼロから作成することも想定しています。」

役割:

SOから(受け入れられた回答)

ロールを使用すると、特定のサーバーにのみ適用される capistrano タスクを作成できます。これは、実際にはマルチサーバー展開にのみ適用されます。「app」、「web」、および「db」のデフォルトの役割も内部で使用されるため、それらの存在はオプションではありません(AFAIK)

私の素朴さからすると、これらは同じことのように聞こえます。誰か、あなたのおばあさんが理解できるように違いを説明してもらえますか?

PSそれが役立つ場合、私はPHPを展開しています。

4

1 に答える 1

1

ステージは、さまざまなブランチをさまざまなサーバーグループ (グループは 1 つ以上のサーバーである場合があります) に展開するために使用されます。

役割は、同じブランチを同じグループ内の異なるサーバーにデプロイするために使用され、そのグループ内の特定のサーバーで特定の capistrano コマンドを実行できるようにします。たとえば、デプロイ中に DB 更新タスクを実行する場合、同じ結果を得るために 2 つのサーバーで同じコマンドを実行してリソースを浪費するのではなく、単一のサーバーを表す:dbロールに対してのみ実行するように指定できます。:db

これは、サーバー グループに複数のサーバーがある場合にのみ役立ちます (たとえば、staging1 と staging2、prod1 と prod2)。ステージング用と本番用のサーバーが 1 つしかない場合は、ロールについて心配する必要はありません。

ここではステージの定義も簡略化していることに注意してください。必要に:deploy_to応じて、ステージに依存させることで、複数のステージを単一のサーバーに実際にデプロイできます。

于 2013-09-22T11:02:12.920 に答える