如何将多个TFS 2012构建定义链接到单个构建定义中

时间:2013-07-25 15:36:29

标签: tfs build-automation

如何在TFS 2012中创建构建定义的层次结构?

我目前有一个调用多个子脚本(.cmd)的主构建脚本(.cmd) 我想将其迁移到TFS构建系统并维护层次结构。

我似乎无法弄清楚使用TFS 2012构建系统是否可行。

这就是我所说的: MasterBuildScript.cmd 调用componentscript1 调用componentscript2 调用componentscript3 打电话...... 调用所有组件的包装程序

componentscript1.cmd 构建解决方案组件a1 构建解决方案组件a2 构建解决方案组件a3 ...

componentscript2.cmd 构建解决方案组件b1 构建解决方案组件b2 构建解决方案组件b3 ...

更多组件......

有没有办法用标准的TFS 2012构建定义来做到这一点? - 布鲁斯

1 个答案:

答案 0 :(得分:0)

有一种方法可以在不进行任何自定义编码的情况下执行此操作。但是,您必须对构建过程模板进行少量添加。这不使用代码,它使用Windows Workflow Foundation。

基本上,您需要为当前拥有的每个.cmd构建脚本设置TFS Team Build定义。一个用于主构建,一个用于每个组件构建。这里涉及的实际工作是将.cmd脚本转换为TFS构建定义。

然后,要自动对“子”构建进行排队,您可以编辑主构建定义的流程模板并添加“InvokeProcess”活动 - 这使您可以在构建过程中将命令行外壳到命令行。您可以使用命令行实用程序TFSBuild.exe启动“子”构建。 http://msdn.microsoft.com/en-us/library/aa337622(v=vs.90).aspx

我过去曾经使用类似的东西,我的核心程序集构建。然后,该构建将启动所有依赖于这些程序集的构建。