【问题标题】:TFS build, one build for many branchesTFS 构建,一个构建多个分支
【发布时间】:2014-07-18 20:47:40
【问题描述】:

我们使用 TFS 源代码控制并有两个构建控制器(一个 VS2010 另一个 VS2012)。我们使用默认的构建工作流模板栏进行了一些自定义更改。

由于我们有很多分支,我们将如何根据所需的分支更改工作空间?

我正在考虑为分支添加一个参数 ($\oursourcecontrol\branches\main),然后将其作为变量传递到工作流的获取工作区部分。

或者有更好的方法吗?

【问题讨论】:

    标签: tfs msbuild tfsbuild tfvc


    【解决方案1】:

    你目前不能,这真的很遗憾。它将完全破坏触发器对 CI 和 Gates 签入的支持。您可以使用TFS Community Build Manager 快速克隆和调整构建定义以支持多个分支。

    你可以做的是获取比你需要的更多的东西(比如$/Sourcecontrol/Branches/*),然后在任何路径参数(如构建解决方案、测试设置文件等)上使用字符串替换来将它们全部指向正确的解决方案。你可能需要做一些模板,比如{BRANCH},这样你就可以轻松地替换这些令牌。

    Git 构建模板在 Git 存储库上支持此功能,但您需要 TFS 2013 才能使用服务器端 Git 支持。

    【讨论】:

    • 谢谢 Jesse,我确实考虑过获取我们所有的分支,但它需要大约 300GB,所以可能需要一段时间。即使在我排除了我们不需要的东西之后。生病检查 TFS 社区构建管理器
    • 我想补充一点,许多团队对其版本控制分支的结构进行了标准化(即,嘿总是可以在同一个 VC 文件夹中找到)并自定义构建工作流,以便分支名称为构建参数并在构建模板中替换。
    【解决方案2】:

    我在包含 TFS 分支的更高级别的存储库选项卡中映射了服务器路径。隐藏获取源步骤不需要的其余分支,除了要构建的分支。并创建变量以传递分支名称,在排队时检查允许。在构建步骤中使用此分支变量以使构建定义适用于所有分支。根据 TFS 中的分支结构,您可能需要多个变量。

    【讨论】:

      猜你喜欢
      • 2016-01-19
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      相关资源
      最近更新 更多