2011-10-18 1 views
5

質問: MSTestエージェントのみを実行しているリモートシステム上のTFS 2010ビルドテンプレートから展開スクリプトを実行するにはどうすればよいですか?MSTestエージェントのみを使用してリモートシステム上のTFSビルドワークフローから展開スクリプトを実行

これは、テスト設定の設定ファイルの[展開]セクションを有効にすることで実行できますが、これは十分な柔軟性がないことがわかります。夜はビルドが実行されます。ビルドが成功すると、配置スクリプトがドロップ位置に配置されます。ドロップ位置は、日付、プロジェクト、およびビルド定義に固有​​です。これらのパラメータは、使用するTFSビルドテンプレートで使用できます。

ラボ管理は利用できません。物理サーバだけです。むしろ、物理サーバーに追加のビルドエージェントを配置して展開するだけでは不便はありません。 MSTestエージェントは明らかに展開スクリプトを実行できますが、その機能をTFSビルドワークフローからどのように使用するのですか。たとえば、Lab Managementを持たずにRunDeploymentScriptアクティビティを使用できますか?

答えて

5

PSExecは、リモートコンピュータでスクリプトを実行するための優れたツールです。私はTeam Deployでこれを使用して、チームビルドからリモートコンピュータにMSIをインストールすることができます。リモートコンピュータでPowerShellを実行することもできますが、セットアップはもう少し複雑です。別のオプションは、MSDeployを使用することです。リモートコンピュータで任意のコマンドを実行できるコマンドオプションがあります。私は通常、InvokeProcessアクティビティを使用してビルドサーバーでPowerShellスクリプトを呼び出します。 PowerShellスクリプトから、ターゲットサーバー上でリモートPowerShellスクリプトを実行するためのMSDeployと呼ばれています。それは悪く聞こえるが、うまくいった。

対象マシンでRunDeploymentScriptを実行することはできません。変更されたテンプレートを使用して、物理環境にデプロイすることができます。 Here is a good post on doing this.。上記のオプションは、エージェントを必要としません。ラボ管理なしでExecuteRemoteTestRunラボ管理アクティビティを使用すると、プロジェクトコレクション(Test Manager)に登録されているテストコントローラを使用してテストエージェントでMTMテストを実行できます。

これらのオプションについてご不明な点がありましたらお知らせください。

+0

あなたの答えは私たちが今後も採用したアプローチに沿っています。昨日、PSExecを問題の回避策として特定しました。テストエージェントがデプロイメントスクリプトを実行できるかどうかは分かりませんが、この機能をビルドワークフローから直接使用する方法はないようです。 とにかく、これは正解です。ありがとうございます。 – kroonwijk

+0

素晴らしい!はい、それ以上の機能を利用するとよいでしょう。 Lab Mangementビルド定義と物理環境デプロイメントの両方の変更では、ビルドエージェントを使用してデプロイメントスクリプトが実行されます。 TFS 11では、ラボ管理の展開は、「標準環境」と呼ばれるものを備えた物理環境をサポートします。エージェントのインストールも簡素化され、テストエージェントのみが必要です。環境内のマシン用のラボとエージェントを構築する必要はありません。 PSExecで問題が発生した場合はお知らせください。 – MikeDouglasDev

関連する問題