【问题标题】:Only build feature/* branches只构建 feature/* 分支
【发布时间】:2013-01-08 05:40:34
【问题描述】:

我正在尝试设置 TeamCity 构建以仅构建功能分支,而忽略 master、develop 等。

我的分支规范中有这个:

+:refs/heads/feature/*

【问题讨论】:

    标签: git teamcity


    【解决方案1】:

    目前这是不可能的。您必须定义一个默认分支。 TeamCity 在计算功能分支和许多其他地方的构建更改时会将其考虑在内。作为一种解决方法,您可以修改构建脚本以在默认分支上运行时执行不同的操作。

    【讨论】:

      【解决方案2】:

      以下设置适用于我在 TeamCity 8.0.6 上的预发布版本。

      分支规范(选择“显示高级设置”时可见):

      +:refs/heads/hotfix/(*)
      +:refs/heads/release/(*)
      

      默认分支:teamcity-default-dummy

      据我了解,您需要指定一个默认分支,而不是要排除的分支。我相信无论分支规范如何,它都会在提交到默认分支时触发,但我可能错了。

      我必须为我的预发布构建配置创建一个虚拟分支并在此处指向默认值,因为我刚刚收到一个错误,它无法从我的仓库中不存在的 master 分支获取更改。您可能不需要这样做。

      相关,我发现this article 对于使用 TeamCity 设置 git 非常有用。虽然这侧重于 git-flow,但相同的概念适用于任何分支模型。

      2015 年 2 月更新

      从 TeamCity 9.0 开始,您仍需要指定默认分支,默认分支将触发构建。对于这种情况,我建议创建一个永远不会提交的虚拟分支,例如上面的示例。

      帮助投票:https://youtrack.jetbrains.com/issue/TW-24147

      【讨论】:

      • 根据我的经验,Teamcity 总是会在提交到默认分支时触发,即使您将分支规范设置为 -:refs/heads/whatever-your-default-is。令人失望,如果你问我。
      • 这个问题2年了,还没有解决!默认分支不能很好地与 Git Flow 配合使用,因为大多数时候你都有 feature/* 或 release/* 分支。我们正在运行 TeamCity 9.0,并且必须设置默认分支。如果构建在默认分支上失败,但在最新版本/* 分支上成功,则项目被标记为失败。见这里:i.imgur.com/uxefDWb.png
      • @Gaui 我已经在他们的问题跟踪器中看到了票证,我相信你可以帮忙投票。也就是说,这个答案中的解决方法已经为我们完美地工作了大约一年,所以对我来说,这更像是一个麻烦而不是一个问题。
      • 这似乎是他们的问题跟踪器中支持投票的主要票证:youtrack.jetbrains.com/issue/TW-24147
      • @DaveZych:根据链接问题中最近的 cmets,可以将默认分支排除在自动触发之外,但您仍然会得到不断增长的待处理更改列表。
      猜你喜欢
      • 2019-08-11
      • 1970-01-01
      • 2019-01-29
      • 2017-03-13
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 2014-07-18
      相关资源
      最近更新 更多