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