Master Build with Team Build 2010
我已经使用TB 2010为我们的产品中的多个功能设置了多个构建定义。 我想知道如何使用现有的定义来创建“主构建”。 我将更具体: 在MSBuild中,我可以使用target来调用另一个MSBuild项目。这样我可以链接构建定义以获得最终的主构建脚本。 如何在结核病2010年做到这一点。 注意:我想使用WF4 ...不是MSBuild!Master Build with Team Build 2010
谢谢
您当然可以编写一个工作流自定义活动,以排队构建定义的构建。该活动应该是一个代码活动并接受您想要排队的构建定义的名称。
要编写与您的TFS服务器交互的代码以排队构建,您可以使用Microsoft.TeamFoundation.Build.Client程序集的API。另外,Jim Lamb发布了关于为构建here创建自定义活动的博客。
在细节,你的代码应该做以下步骤:
- 创建TfsTeamProjectCollection对象连接到您的团队项目集合。
- 获取IBuildServer对象。这是主要条目。从这里你可以得到构建定义,创建一个构建请求,排队构建等
实际上,我惊讶的是,没有为2010版本没有例子,当我试图寻找“TFS编程排队|创建一个构建“。我可能会在这里发表博客。
但有一点需要注意,即从您的自定义活动排队的构建将由构建服务帐户排队,因此您需要确保此帐户被授予正确的permissions以排队构建。默认情况下,当它被添加到TFS构建服务帐户组时,我认为它没有。
UPDATE:
埃瓦尔德·霍夫曼刚刚写了一篇关于TFS系列构建,其中一个讨论有关从自定义活动做模拟。它非常适合你的需要:
我还发现,泰勒Lafrine在博客程序于2009年在他的岗位创建构建回:
http://blogs.msdn.com/b/taylaf/archive/2009/12/04/introducing-tfs-impersonation.aspx
希望它能帮助。
非常感谢!我会试试这个 – monkzen 2011-06-12 17:40:30
@Duat Le你知道我可以做什么,当我排队很多建立一个又一个,每个依赖另一个?我的问题是,构建异步排队,但我想等待构建。有任何想法吗? – Rookian 2012-02-15 09:33:31
你当然可以阻止你的线程队列的构建和等待,直到构建完成。您需要的是获取IQueuedBuild对象,并等待状态属性变为“已完成”或“已取消”。请注意,构建请求可能会延期,因此请密切关注,如果构建请求被推迟,您可以选择等待或取消。 – 2012-02-22 02:11:59