【问题标题】:TFS Builds: Different build configurations for the same sourceTFS 构建:同一源的不同构建配置
【发布时间】:2015-09-17 12:39:30
【问题描述】:

我正在构建一个巨大的解决方案,每次签入都会触发 TFS2013 以实现持续集成。

问题是,我每天都会手动排队一次我们所谓的“完整构建”(清理工作区、构建所有内容、生成 installshield 设置并使用发布管理进行部署)。为此,我设置了放置文件夹并更改了一些构建参数。

我想每晚安排一次“完整构建”……但是如何安排呢? 尝试创建一个新的构建定义,但这会创建另一个工作区和另一个二进制文件夹......这会导致比它解决的问题更多的问题。 我可以为同一个分支工作区有多个构建定义吗?或者更好的是,我可以根据构建的触发方式进行不同的配置吗?

我也想过开发一个工具,通过 TFS-api,使用自定义参数对新构建进行排队,这可能吗?

【问题讨论】:

  • 我不明白问题出在哪里。将构建定义的触发器设置为“已调度”。您仍然可以手动排队。如果您需要不同的构建参数,那是不同的构建定义。复制它并安排它。
  • 如果我复制它将创建一个新的工作区(用于新的构建定义),这意味着重复的源代码和带有二进制文件的重复输出文件夹。我想在相同的二进制文件上构建相同的源代码,但只是使用不同的构建任务,具体取决于它是 CI 还是计划的。有这么奇怪吗?
  • 是的,这很奇怪。随着您的构建执行,它可能会更改获取和输出的内容。您永远不应该让 TFVC(或其他基于服务器的源代码控制)的两个构建定义使用相同的源文件夹。
  • 对不起,我想我没有正确解释自己,这正是我想要避免的,有 2 个构建定义。我想要一个构建定义。但使用不同的参数取决于它是 CI 还是计划的。无论如何,现在已经解决了。谢谢! :)

标签: tfs tfsbuild


【解决方案1】:

TFS itemstobuild 甚至需要单独的 .proj 文件,

您可以使用 TFS API 使用自定义参数对构建进行排队。

http://www.codeproject.com/Tips/801629/TFS-API-Queue-a-New-Build-with-Custom-Parameters

甚至可以创建一个主子构建定义,它将共享通用的 dropfolder 和通用参数。

http://blogs.objectsharp.com/post/2012/02/04/Create-a-Master-Build-that-calls-other-Builds.aspx

【讨论】:

  • 我真正想要的是:msdn.microsoft.com/en-us/library/ms181742.aspx。但我最终需要一些更复杂的配置,所以我用 TFS API 制作了一个小 exe,并使用任务计划程序启动每晚的“完整”。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 2011-03-01
  • 2014-08-03
  • 2020-12-22
相关资源
最近更新 更多