目標は、ビルドを自動化できるようにすることです。これにより、開発者がコードをチェックイン (またはこのトリガー設定を持つ特定のブランチにマージ) するたびに、コードが開発および QA 環境に出荷されるようになります。本番環境にプッシュするには、手動での関与が必要になると思います。
注: これはレガシー アプリケーションであるため、設定されているものの数を制御することはできません。チームの規模は約 10 人の開発者です。
私がこれまでに持っている分岐戦略:
[1]Developer branch
[2]Main (Production) branch
開発者が新しい機能を作成するとき、開発者ブランチのブランチは次のようになります。dev_branch_feature_xyz
テストのために DEV または QA サイトにプッシュする場合は、開発者ブランチにマージします。これにより、TeamCity が最初にメイン ブランチから変更をプルし、次にコンパイルなどを行い、DEV および QA サーバーにプッシュします。
QA が機能を承認し、本番環境の準備が整った場合、どのように正しいコードをメイン ブランチにプルし、変更を UAT 環境にプッシュしてから本番環境にプッシュするのでしょうか?
たとえば、feature#1 が dev にマージされ、次に feature#2 にマージされ、プログラマーが feature#1 のバグ修正を dev に再度マージし、feature#2 の別のマージが行われる可能性があるため、DEV ブランチには次の部分が含まれます。機能 1 と機能 2 が含まれており、現在 MAIN ブランチにプッシュするコードを選択する方法はありません (機能 1 が実稼働の準備ができている場合)。
また、これは健全な戦略ですか?皆さんが見ている問題はありますか?
覚えておいてください: 現在、これの多くは手動 (マージ、サーバーへのプッシュ) ですが、目標は TeamCity の使用に移行することであるため、分岐戦略を今セットアップする必要があります。