我有一个场景,我想从另一个 TFS 构建调用一个 TFS 构建,第一个执行构建,第二个执行暂存。这将允许我为同一解决方案执行多个自定义暂存。
我知道,我可以通过第二个构建中的 exec 任务来完成此任务,并调用 tfsbuild.exe 将第一个构建定义中的构建排队。但想知道是否有人知道更好的方法?
这取决于你想做什么。
1) 您是否希望构建 + 暂存作为一项操作运行?这样您最终会得到一份综合构建报告、一个日志文件、服务器构建队列中的一项作业,每个步骤都由执行上一步的同一个构建代理按顺序执行?
如果是这样,那么您基本上就走在正确的道路上了。我不会<Exec
> 不过,运行一个全新的构建会产生大量开销,而且我不确定潜在的副作用是什么。相反,我会使用<Call
> 任务来执行暂存脚本中定义的 msbuild 任务。
2)您是否希望“构建构建”实际上对单独的“暂存构建”进行排队?单独的报告、日志文件和队列中的位置?如果您有多个构建代理,是否有机会并行执行?
如果是这样,那么:
- 创建用于暂存的新构建定义
- 将一些代码添加到原始构建定义中,使用 Team Build API 对[一个/多个]新构建定义进行排队。示例代码 http://notsosmartbuilder.blogspot.com/2007/09/team-build-2008-api.html.
- 从原始构建定义中删除与核心构建无关的任何内容
- 确保新的“暂存”定义没有任何自动触发器(时间间隔、签入事件等)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)