3

私の Rails アプリでは、Git、GitHub、および Capistrano を使用しています。2 つのサーバー (ステージングと運用) があります。

これまでは、ローカル マシンでコードを変更して GitHub にプッシュし、デプロイ時に Capistrano が GitHub からいずれかのサーバーにコピーしていました。

今、私は Git でブランチを使い始めました。マシン上でローカルに 2 つのブランチを作成しましdevprod。この時点で私は唯一の開発者です。現在、GitHub にはブランチ マスターしかありません。

質問:

1)既存の GitHub rpo にdevandブランチを作成する必要がありますか? それとも、ステージング用と本番用に別の GitHub リポジトリを用意する必要がありますか?prod

dev2) ブランチを追加する場合、Capistrano にブランチをステージングに使用し、prodブランチをプロダクションに使用するにはどうすればよいですか?

3) 別のリポジトリを使用している場合、ブランチを正しいリポジトリにプッシュするにはどうすればよいですか?

4

2 に答える 2

0

必要なのは 1 つのレポだけです。

Capistrano には、デプロイするブランチを制御するブランチ設定があります。私は通常追加します

set :branch, ENV['BRANCH'] || 'master'

さまざまなブランチをデプロイできるように、私の deploy.rb に

cap staging deploy BRANCH=some_branch

個人的には、リリースごとに新しいブランチを作成するので、小規模な修正を本番環境にデプロイするのは非常に簡単です。そのリリースのブランチを選択して、そのブランチを再デプロイするだけです。

于 2013-05-01T18:42:54.367 に答える