您将如何手动触发团队构建中的其他团队构建?例如,当我们在CC.Net时,如果某些构建成功,其他构建将触发。第二个版本可以是使用此组件的项目,也可以是针对同一个组件的额外的,长期运行的测试库。手动触发TFS团队构建
5
A
回答
4
你可以做到这一点的一种方法是你可以将一个AfterEndToEndIteration目标添加到你的TFSBuild.proj文件中,该文件将运行TfsBuild.exe命令行来启动其他的构建。我想这样的事情(虽然我没有测试过)
<Target Name="AfterEndToEndIteration">
<GetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)"
Condition=" '$(IsDesktopBuild)' != 'true' ">
<Output TaskParameter="Status" PropertyName="Status" />
</GetBuildProperties>
<Exec Condition=" '$(Status)'=='Succeeded' "
Command="TfsBuild.exe start /server:$(TeamFoundationServerUrl) /buildDefinition:"Your Build Definition To Run"" />
</Target>
3
我已经做了马丁在多个场合提出同样的事情(他的博客是超越乐于助人,BTW)。但是,我最终需要触发像这样的级联构建(基于其他复杂的规则),因此我创建了一个自定义任务来完成它。保持你的构建脚本不错,精益,并给你更多的灵活性和封装的可能性。
public override bool Execute()
{
IBuildDefinition[] buildDefinitions = BuildServer.QueryBuildDefinitions(ProjectName);
foreach (IBuildDefinition build in buildDefinitions)
{
if(build.Enabled) //I did a bunch of custom rules here
{
Log.LogMessage(String.Concat("Queuing build: ", build.Name));
BuildServer.QueueBuild(build);
}
}
return true;
}
有亚伦哈尔贝格的博客更多的好东西太多:
http://blogs.msdn.com/aaronhallberg/archive/2007/04/24/team-build-object-model-queueing-a-build.aspx
相关问题
- 1. 触发TFS 2010团队构建另一个构建的成功
- 2. 显示从TFS团队UI构建
- 3. TFS团队建设指南
- 4. UNC在团队构建(TFS)中构建路径
- 5. 在TFS团队中跳过构建文件构建
- 6. 如何从Jenkins手动触发TFS构建
- 7. TFS构建队列
- 8. 构建完成时团队警报不会触发
- 9. 团队城市触发器构建github拉请求
- 10. 团队城市TeamCity中失败的构建触发器
- 11. 相互排斥的团队城市构建触发器同时触发
- 12. TFS团队和TFS团队之间的区别是什么?
- 13. TFS 2012 - 团队警报不发送
- 14. 错误(团队建设与2008年TFS)
- 15. eclipse为tfs创建团队项目
- 16. TFS 2010 - 无法创建团队项目
- 17. 团队构建和Dotfuscator
- 18. TFS 2015如何手动发布链接到团队房间中的Changeset
- 19. TFS 2012团队构建和Web应用程序部署--L ERROR_USER_NOT_ADMIN
- 20. TFS团队的生成后构建最佳实践
- 21. 使用C编辑TFS团队构建定义
- 22. TFS构建代理,与团队服务器端口相同?
- 23. 团队构建以在不同的TFS项目中构建解决方案
- 24. 使用TFS 2013构建Visual Studio C++解决方案2015失败团队构建
- 25. 如何从单个TFS团队构建定义构建2个解决方案
- 26. TFS 2013构建不触发WebDeploy
- 27. 获取TFS触发构建Git分支
- 28. 如何将TFS构建定义移动/复制到新的团队项目?
- 29. 如何在TFS中自动化分支/新团队构建过程
- 30. 触发器持续集成在TFS 2017中构建在团队项目集合的根上