2011-10-18 53 views
5

我的問題:如何在僅運行MSTest代理的遠程系統上從TFS 2010構建模板運行部署腳本?僅使用MSTest代理從遠程系統的TFS構建工作流程運行部署腳本

我知道這可以通過激活測試設置配置文件中的部署部分來完成,但這不夠靈活。在晚上,構建運行。構建成功時,將部署腳本放置在放置位置。放置位置是特定的日期,項目和構建定義。這些參數在我們使用的TFS構建模板中可用。

我沒有可用的實驗室管理,只是一個物理服務器。我寧願不使用額外的構建代理破壞物理服務器以僅執行部署。 MSTest代理顯然能夠運行部署腳本,但是如何使用TFS構建工作流程中的該功能。例如,我可以在沒有實驗室管理的情況下使用RunDeploymentScript活動嗎?

回答

5

PSExec是在遠程計算機上運行腳本的好工具。我在Team Deploy中使用它,它允許您在Team Build的遠程計算機上安裝MSI。您也可以在遠程計算機上運行PowerShell,但設置起來會稍微複雜一些。另一種選擇是使用MSDeploy。有一個命令選項,您可以在遠程計算機上運行任何命令。我通常使用InvokeProcess活動來調用構建服務器上的PowerShell腳本。從我調用MSDeploy的PowerShell腳本在目標服務器上運行遠程PowerShell腳本。這聽起來很糟糕,但運作良好。

您無法在目標計算機上運行RunDeploymentScript。您可以使用修改的模板部署到物理環境。 Here is a good post on doing this.。我上面提到的選項不需要任何代理。您可以使用沒有實驗室管理的ExecuteRemoteTestRun實驗室管理活動來運行帶有測試代理和測試控制器的MTM測試,該測試控制器已註冊到項目集合(測試管理器)。

如果您對這些選項有任何疑問,請告訴我們。

+0

你的答案與我們也採用的方法一致。昨天我們發現PSExec是解決問題的一種可能的解決方案。看到測試代理能夠執行部署腳本是如此的煩人,但似乎沒有直接的方式來使用構建工作流程中的這個功能。 無論如何,對於更大的觀衆來說,這是正確的答案,謝謝! – kroonwijk

+0

太棒了!是的,利用更多這些功能會很好。 Lab Mangement構建定義和物理環境部署修改都使用構建代理來運行部署腳本。在TFS 11中,實驗室管理部署將支持所謂的「標準環境」的物理環境。他們還簡化了代理安裝,只需要測試代理。沒有更多的實驗室和環境中的機器構建代理。讓我知道你是否遇到過PSExec的任何挑戰。 – MikeDouglasDev