【发布时间】:2015-09-17 12:39:30
【问题描述】:
我正在构建一个巨大的解决方案,每次签入都会触发 TFS2013 以实现持续集成。
问题是,我每天都会手动排队一次我们所谓的“完整构建”(清理工作区、构建所有内容、生成 installshield 设置并使用发布管理进行部署)。为此,我设置了放置文件夹并更改了一些构建参数。
我想每晚安排一次“完整构建”……但是如何安排呢? 尝试创建一个新的构建定义,但这会创建另一个工作区和另一个二进制文件夹......这会导致比它解决的问题更多的问题。 我可以为同一个分支工作区有多个构建定义吗?或者更好的是,我可以根据构建的触发方式进行不同的配置吗?
我也想过开发一个工具,通过 TFS-api,使用自定义参数对新构建进行排队,这可能吗?
【问题讨论】:
-
我不明白问题出在哪里。将构建定义的触发器设置为“已调度”。您仍然可以手动排队。如果您需要不同的构建参数,那是不同的构建定义。复制它并安排它。
-
如果我复制它将创建一个新的工作区(用于新的构建定义),这意味着重复的源代码和带有二进制文件的重复输出文件夹。我想在相同的二进制文件上构建相同的源代码,但只是使用不同的构建任务,具体取决于它是 CI 还是计划的。有这么奇怪吗?
-
是的,这很奇怪。随着您的构建执行,它可能会更改获取和输出的内容。您永远不应该让 TFVC(或其他基于服务器的源代码控制)的两个构建定义使用相同的源文件夹。
-
对不起,我想我没有正确解释自己,这正是我想要避免的,有 2 个构建定义。我想要一个构建定义。但使用不同的参数取决于它是 CI 还是计划的。无论如何,现在已经解决了。谢谢! :)