チームとして、2週間のスプリントサイクルでアジャイル/スクラム手法を採用しています。2週間ごとにスプリント作業の集合体を展開するのではなく、ユーザーストーリーごとに変更を展開するワンクリックソリューションで前進したいと考えています。
議論のために、DevとQAの2つのブランチがあります。ユーザーストーリーがデプロイの準備ができているとマークされたら、そのチェンジセットをQAブランチにマージし、ビルドがトリガーされると、そのブランチからデプロイメントパッケージが生成されます。
TFSAPIと統合するマージプロセスを自動化するコードを作成しました。ここで私が抱えている課題は、依存関係がある場合のソース管理の変更に対処することです。以下の例。
Changeset UserStory#
100 1 (File1.cs, File2.cs)
101 2 (File2.cs)
102 1 (File2.cs)
上記のシナリオで、Story1をデプロイの準備ができているとマークし、マージプログラムがマージをトリガーした場合、チェンジセット102のStory2のFile2.csにデプロイの準備ができていない変更があるため、マージできないことがわかります。story2をデプロイする準備ができている場合でも、100、101、102を順番にマージする必要があります。しかし、いくつかのチェックインを検討する場合、履歴を見て見つけたものをマージするために、どのチェンジセットをコードの並べ替えするかをプログラミングするのは少し難しいです。
どんな提案でも大歓迎です。