使用Team Build 2010构建Master

mon*_*zen 5 tfs2010

我使用TB 2010为我们的产品中的多个功能设置了多个构建定义.我想知道如何使用现有定义创建"主构建".我将更具体:在MSBuild中,我可以使用target来调用另一个MSBuild项目.这样我就可以链接构建定义以获得最终的主构建脚本.我怎么能在TB 2010中做到这一点.注意:我想使用WF4 ...而不是MSBuild!

谢谢

Dua*_* Le 4

您当然可以编写一个工作流自定义活动来对构建定义的构建进行排队。此活动应该是一个代码活动,并接受您想要排队的构建定义的名称。

要编写与 TFS 服务器交互以对生成进行排队的代码,可以使用Microsoft.TeamFoundation.Build.Client程序集的 API。此外,Jim Lamb 在博客中介绍了如何为构建创建自定义活动。

具体来说,您的代码应执行以下步骤:

  1. 创建TfsTeamProjectCollection对象以连接到您的团队项目集合。
  2. 获取IBuildServer对象。这是主要条目。从这里您可以获取构建定义、创建构建请求、对构建进行排队等。

实际上,当我尝试搜索“tfs 以编程方式队列|创建构建”时,没有 2010 版本的示例,这让我感到惊讶。我可能会在博客上讨论这个问题。

但需要注意的一件事是,从自定义活动排队的构建将由构建服务帐户排队,因此您需要确保该帐户被授予排队构建的正确权限。默认情况下,当它添加到 TFS 构建服务帐户组时,我认为它没有。

更新:

Ewald Hofman 刚刚写了一系列有关 TFS Build 的文章,其中一篇讨论了如何从自定义活动进行模拟。它非常适合您的需求:

http://www.ewaldhofman.nl/post/2010/05/28/Customize-Team-Build-2010-e28093-Part-9-Impersonate-activities-(run-under-other-credentials).aspx

我还发现 Taylor Lafrine 在 2009 年的博文中发表了有关以编程方式创建构建的博文:

http://blogs.msdn.com/b/taylaf/archive/2009/12/04/introducing-tfs-impersonation.aspx

希望能帮助到你。