2011-11-07 4 views
3

TFS 2010では、ビルドスクリプトをセットアップして自動的にテスト環境に4時間以内に実行して展開します。したがって、ビルド定義の引き金となるのは、 "ビルドのローリング - 前回のビルドが完了するまでチェックインを蓄積する"というチェックボックスがチェックされ、 "[240分]よりも頻繁にビルドしない"というチェックボックスがオンになっています。私がこれを解釈する方法は、ビルドが16:25に行われ、次の30分間に3回のチェックインが行われた場合(最後に16:52に発生)、次のビルドは20:25に行われます。TFSローリングビルドが週末に建物をスキップするように見える

私たちが見ている問題は、この一連のイベントが金曜日に発生した場合、次のトリガされたビルドは月曜日の朝までに発生しないということです。 TFSとは別の仮想マシンに2つのビルドエージェントがありますが、すべてのマシンは24時間稼働しています。

チームの誰もがこのような動作を引き起こす原因となっていることを認識しているので、私たちはなぜそれを見ているのか分からない。ローリングビルドの意味を誤解しているのか、それともチェックしなかった設定があるのでしょうか?

EDIT:それは価値がある何のため、ビルド&展開プロセスの全体は、90〜120秒のすべてを取ります。だからまだビルド中に発生したチェックインはありませんでした。

+0

これは奇妙に聞こえる。金曜日以外の平日に起こった場合、同じシナリオが確実に実行されたことを確認するだけで、うまくいったでしょうか?ビルドマシンは金曜日の夜と週末、btw :-) –

+0

@DuatLeが合意しました。予想通りの行動が月曜日から木曜日までは間違いないが、金曜の夜は物事を捨ててしまうようだ。金曜日の夜に起こるべきビルドは、日曜日の夕方または月曜日の朝まで(それを引き起こす追加のチェックインなしで)起こらない。すべての必要なマシンは24時間365日稼働しています。私が知っている限り、特定の時間にのみビルドエージェントを実行する方法はないので、この動作は非常に奇妙です。 –

+0

実験をする価値があります:ランダムな日を反復で銀行休暇として設定します。同じ効果が現れますか? – pantelif

答えて

3

Accumulateチェックインは、チェンジセットをチェックインすると、240分でこのビルド定義がビルドされていない場合、自動的にビルドをキューに入れることを意味します。しかしチェンジセットをチェックインしないと、ビルドはキューに入れられません。

作成時にビルドがトリガーされる必要があります。 3回目のビルドは、土曜日の0:25より前の20:25ビルド後の最初のチェックインの後に起動する必要があります。 :)

変更定義がビルド定義ワークスペースでクロージャされた場所にチェックインされていないか(またはビルド定義ワークスペースによってマップされていない場所にチェックインされている)チェックされていないかどうかを確認してください。

+0

私は "次のビルドは、20時25分のビルド後の最初のチェックイン後に起動する必要があります。"正しい。このシナリオでは、16:25に発生したビルドが20:25より前に終了すると、次のローリングビルドは20:25から開始されます。最初のビルドが20:25以降に終了した場合、次のビルドはすぐに開始されます。 –

+0

あなたは正しいです。正しいです: "3回目のビルドは、土曜日の0:25より前の20:25のビルド後の最初のチェックインの後に起動する必要があります" :) – Ludwo

+0

実際には、16:25以降のチェックインビルドすると20:25にビルドが行われます。 20:25以降の最初のチェックインではありません。 –

関連する問題