2012-08-04 18 views
8

私たちには、本番用とステージング用のサーバーで動作する大規模なレールプロジェクトがあります。ステージングやプロダクションにデプロイするたびにタグを作成することをお勧めします(これはカピストラノで自動的に行われます)。または、 "devlopment"と "staging"という名前のブランチを作成する方が良いです(マスターには生産状況が含まれます)。タグとgitの分岐

答えて

1

開発、ステージング、プロダクション用にブランチを使用すると同時に、タグを使用して本番バージョンを識別することができます。私はgit flowがそれらのブランチを処理する方法が好きで、より多くのブランチを使用して新しい機能を開発できるようになります。開発者は、マスターブランチにコードをコミットする必要はなく、マスターにマージすることもまれです。

5

gitのタグはかなり長いです:リモートリポジトリからフェッチするときに自動的に伝播します。それらをクリーンアップする場合は、すべてのコピーで手動で行う必要があります。したがって、私はむしろ、すぐにたくさんのタグに埋もれる可能性があるので、自動展開をマークするためにブランチ(とおそらくはそのreflog)を使用したいと思います。

1

必要に応じて迅速なリカバリを行うために、各デプロイメントにタグを付けます(デプロイメントスクリプトでは自動的にタグ付けされますが、デプロイメント履歴としても便利です)。例:

deployment_stag_20120804 
deployment_stag_20120823 
deployment_prod_20120715 
deployment_prod_20120724 

膨大な量のタグを避けたい場合は、最後のN個の展開のスクリプトタグを作成することができます。

デプロイメントの方法が、例えばgitフックがprodサーバーのプルをトリガするプロダクションブランチにマージする場合は、ブランチがより意味があります。