1

TFS 2010を使用しており、古いVB6ビルドスクリプトを実行するために別のEXEを実行する必要があります。2台のマシンに3つのビルドエージェントが分散していますが、VB6開発環境(および古いビルドスクリプト)がインストールされているのは1台のマシンのみであるため、この作業を実行できるのは1台のエージェントのみです。ビルドテンプレートファイルのビルドアクティビティでこれを行う方法は知っていますが、2つの異なるマシンに3つのビルドエージェントがあるため、このアクティビティがVB6を含む1つのビルドエージェントでのみ実行されるようにするにはどうすればよいですか?開発環境?

これがボトルネックになることはわかっていますが、現時点では一時的なものにすぎません。カスタムアクティビティ用のカスタムDLLを作成せずにこれを実行できれば理想的です。また、タグ付けにより、この作業に対して別のビルド定義を作成できることも理解していますが、これも理想的ではありません... 1つのエージェントでこれを実行する1つのビルドワークフローが必要ですが、その後の残りのアクティビティはそれぞれのビルドで続行されますエージェント。

編集:上記のすべてで、2つのビルド定義をチェーン化できる場合(VB6ビルド定義が実行されてから「通常の」ビルド定義が実行される)、可能であればそれは許容できるソリューションになります。

4

1 に答える 1

3

箱から出して含まれているRunWorkflowアクティビティとWaitForWorkflowアクティビティを使用して、2つのビルド定義をチェーン化することもできます(LabDefaultTemplateを見ると、これが実行されます)。

より洗練されたソリューションは、AgentScopeアクティビティを使用して1つのワークフローでそれを実行し、異なる特定のエージェントで実行する必要があるワークフローのセクションを分離することです。DefaultTemplateを見ると、そのほとんどが単一のAgentScopeアクティビティ(Run On Agentというラベルが付いています)にラップされていますが、順番に(または可能であれば並列に)呼び出されるいくつかのAgentScopeアクティビティに分割できます。

于 2012-07-12T15:39:17.257 に答える