2

私は最近VSSからTFS2010に移行し、それを絶対に気に入っていますが、まだ思ったとおりに機能することができていないことがあります。

目標

開発への変更がビルドを壊すときをすぐに知りたいです。事後的にわかったとしても、大したことではありません。1日を通して多くのチェックインが行われるため、ビルドが完了するのを待ちたくないので、非同期にする必要があります。

メインブランチでは、マージが発生するたびに、ビルドが中断されないようにします。これについてすぐにフィードバックが欲しいです。Mainにマージすることはあまりないので、待機時間は問題ありません。

現在の設定

私の解決策はMainというフォルダの下にあります。私はそれから開発と呼ばれるブランチを作りました。私が作業しているワークスペースは、メインブランチと開発ブランチの両方を含むトップレベルに関連付けられています。問題が発生した場合に備えて、開発のみを指すようにワークスペースを調整してみました。それで問題が解決したようには見えなかったので、メインと開発の両方で、元の状態に戻しました。

ワークスペースのビルド定義内に、2つの定義が定義されています。1つはメインブランチ用で、もう1つは開発用です。

最初の定義は、メインブランチを構築するためのものです。ゲートチェックイントリガーがあり、「作成するアイテム」はメイン内のソリューションファイルを指します。

2番目の定義は、開発ブランチでソリューションを構築するためのものです。Rolling Buildsトリガーがあり、「ItemstoBuild」は開発内のソリューションファイルを指します。

結果

現在、開発で変更が行われ、チェックインが実行されると、メインへのゲートチェックインがトリガーされます。これは混乱を引き起こすだけでなく、プロセス全体の速度を低下させる傾向があります。

次のステップ

分岐、一般的なTFSの使用法などに関するTFSガイドのいくつかを見てきました。残念ながら、問題の解決策はまだ見つかりません。以前にこの問題に遭遇したことがある場合は、何か提案をいただければ幸いです。

4

1 に答える 1

6

現時点では100%確信はありませんが、ビルド定義ワークスペースでカバーされているソースツリーの部分にチェックインすることでビルドをトリガーする必要があります。

したがって、ビルド定義を調べて、各ビルド定義がソースツリーのどの部分を取得するかを確認してください。CIビルドはDevブランチのみを取得する必要があり、ゲートビルドはMainブランチのみを取得する必要があります。

于 2010-12-20T15:37:14.933 に答える