2017-06-28 4 views
0

高度にカスタマイズされたTFS 2013 XAMLビルドワークフローがあります。ビルドコントローラで実行されるコードをカスタマイズしてビルド仮想マシンを開始/停止することができます。ビルドエージェントのマシン外でカスタマイズしたタスクを実行することは可能ですか?もしそうなら、どこでどのように。 vNextは、システムを構築するためにTFSを開始/停止する方法各ビルド後にvNextでVMを構築する

答えて

0

、あなたが必要な任意のコマンドを実行するためのエンド・タスクとしてバッチスクリプトまたはPowerShellのタスクを追加することができます。例えば

バッチスクリプト:

  1. /ストップTFSは、仮想マシンを構築開始するコマンドで、CMDファイルを作成します。
  2. cmdファイルをチェックインします。
  3. バッチスクリプトタスクでcmdファイルを実行します。停止したい場合は

/エージェントサービスを開始します。(参考this article

net stop <Service-Name> 
net start <Service-Name> 

を使用すると、シャットダウン/リモートマシン再起動する場合:(参考this article

Shutdown : shutdown /m \\machinenameOrIP/s /t 0 
Restart : shutdown /m \\machinenameOrIP /r /t 0 

VMの起動/停止のコマンドについてhttps://technet.microsoft.com/en-us/itpro/powershell/windows/hyper-v/start-vm

注:

サービスアカウントは、仮想マシン上でそれらを実行するための十分な権限を持っていることを確認し、実行するコマンドが何であれ、このリンクを参照してください。

更新:

ビルドVMは、ビルドサービスが開始されていないので、ビルドエージェントがオンラインである必要があり、シャットダウンされた場合私たちは、ビルドプロセスでVMを起動することはできません。

+0

お返事ありがとうございます。 –

+0

はい、ビルドの最後のバッチスクリプトタスク内のnet stopコマンドとShutdownコマンドは、私にとってはうまくいくでしょう。ただし、ビルドプロセスの一環としてVM起動コマンドを実行する必要があります。 VMの起動コマンドは、シャットダウンされてからビルドVM内で実行できません。 XAMLスクリプトを使用して、ワークフローのビルドコントローラ部分でVM Startコマンドを実行するようにコード化しました。ビルドプロセスの一環としてカスタマイズされたタスクをTFSサーバー上で実行できるvNextにも同様のメカニズムがありますか? –

+0

@ A.Poonいいえ、Vnextビルドでビルドプロセスの一部としてビルドエージェントマシンを起動することはできません。ビルドエージェントはオンラインでなければなりません。 –

関連する問題