正常にビルドされた機能ブランチを別のブランチにプッシュする方法はありますか?
私はそのようなものが欲しいです:
Git リポジトリ (Gitorious/GitHub など)。支店:
- master (現在のプロジェクトのコード)
- 品質保証 (コードが QA を待つブランチ)
- 機能ブランチ (開発者が機能を開発できる多くのリモート ブランチ)
開発者は、マスターへの読み取りアクセスと、機能ブランチへの読み取り/書き込みのみを持つ必要があります QA 読み取り/書き込み品質保証ブランチ TeamCity - 読み取り/書き込みマスター、品質保証、機能ブランチへの読み取り専用
そして今、次のようなワークフローが必要です。
- 開発者はマスター ブランチからコードをプルします。
- 開発者は機能ブランチ A を作成します。
- 開発者が変更をリモートの feature-branchA にプッシュする
- TeamCity は機能ブランチを監視します
- TeamCity は、コミットごとにビルドとテストをトリガーします。
- ビルドが成功した場合、TeamCity は変更を品質保証ブランチにプッシュします
- QA チームがコードをチェックします (場合によっては、他のテストや整合性テストを実行します)。
- QA がすべて問題ないと判断した場合、変更を master ブランチにプッシュします。
QA を使用したそのステップが必要かどうかはわかりません。おそらく、ビルドとテストが成功した後の各機能ブランチをマスターとマージする必要があります。
最初に知りたいのですが、それは理にかなっていますか? CI を始めたばかりで、うまくいくかどうかわかりません。
第二に、このワークフローが正しい場合、TeamCity をそのようなことを行うように構成する方法と、何らかの競合が発生した場合や何か問題が発生した場合にどうなるかを知りたいです。
最近、Git+Jenkins+Gerrit に関するプレゼンテーションを見ましたが、似たようなものを見ましたが、.NET 開発に関しては、個人的には TeamCity を好みますが、Jenkins でそれを行う方がはるかに簡単である場合、気が変わります。