2010-10-28 75 views
0

我使用VS 2008,團隊資源管理器和TFS。我正在尋求通過執行TFSBuild.exe命令來自動化您的構建。自動化構建服務器TFS 2008(vs 2008)

我遵循這些步驟:

打開TeamExplorer,在VS2008,連接到TFS;

我的團隊項目在Builds中有一個Build(名爲MainBuild)。然後,我做查詢新的構建選項。

我填寫窗口對話框屬性打開:

構建定義:Mainbuild

生成代理:Machine1BuildAgent此構建

投遞文件夾:\ MACHINE1 \ Build_drop

在隊列優先級:普通

MsBuild命令行參數:

/P:BuildAll =假/ P:的runTest =假/ P:SkipClean =真/ P:SkipGet =真/ P:SkipLabel =真/ P:SkipGetChangesetsAndUpdateWorkItems =真

在MDSN我看到TFSBuild命令和此示例:

以下示例構建位於server01上的AdventureWorks團隊項目中的Nightlies構建類型。生成的版本位於BuildDrop目錄中的Machine1上。

TFSBuild開始http://server01:8080的AdventureWorks Nightlies版/ M:MACHINE1/d: 「C:\ BuildDrop」

編輯:現在,我的問題,我該怎麼辦了構建MainBuild自動化設置「的MSBuild命令值「參數」使用TFSBuild.exe命令?我正在尋找一種方式來自動具有夜間使用命令行參數運行TFS生成代理作業..

我需要類似的命令行是這樣的:

TFSBuild開始http://machine01:8080 MyteamProject MainBuild/M: Machine1/d:「\ Machine1 \ Build_drop」/ p:BuildAll = false/p:RunTest = false/p:SkipClean = true/p:SkipGet = true/p:SkipLabel = true/p:SkipGetChangesetsAndUpdateWorkItems = true

我需要將參數(MsBuild命令行參數)傳遞給TFSBuild.exe命令並自動化TFS構建。

任何示例腳本代碼?

回答

1

可以傳遞的MSBuild屬性使用/ msBuildArguments開關

TFSBuild start http://machine01:8080 MyteamProject MainBuild /m:Machine1 /d:"\Machine\Build_drop" 
/msBuildArguments:"/p:BuildAll=false;/p:RunTest=false;/p:SkipClean=true; 
/p:SkipGet=true;/p:SkipLabel=true;/p:SkipGetChangesetsAndUpdateWorkItems=true" 

或者,您也可以指定在response file TFSBuild.rsp這些屬性TFSBuild。

1

我不確定我是否清楚你的問題,但如果你想通過從命令行執行MSBuild來自動化你的構建,你可以創建一個批處理文件來使用命令行執行必要的命令你想要的參數。然後將計劃任務添加到Windows中的「計劃任務」,以便此批處理文件在常規(例如每晚)的基礎上執行。

+0

我想他實際上正在尋找一種方法來自動讓TFS Build Agent作業每晚都運行*使用命令行參數*,但我使用的是您描述的用於我們較新的預發佈產品的技術。 – DaveE 2010-10-28 15:35:42

+0

我需要傳遞參數(MsBuild命令行參數,從Query New build window-dialog)到TFSBuild.exe命令並自動化TFS構建。 – Kiquenet 2010-10-28 21:42:50