问题 只构建功能/ *分支


我正在尝试将TeamCity构建设置为仅构建功能分支,并忽略master,develop等。

我目前在我的分支规范中有这个:

+:裁判/头/特征/ *


13023
2018-01-24 12:51


起源



答案:


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

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

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

默认分支: teamcity-default-dummy

根据我的理解,您需要指定除要排除的分支之外的默认分支。我相信它会在提交默认分支时触发,无论分支规范如何,但我可能错了。

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

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

2015年2月更新

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

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


13
2018-02-07 14:45



根据我的经验,Teamcity将始终触发对默认分支的提交,即使您放置了分支规范 -:refs/heads/whatever-your-default-is。令人失望,如果你问我。 - Dave Zych
这个问题已经2年了,还没有修好!默认分支对Git Flow不起作用,因为大多数时候你有功能/ *或发布/ *分支。我们正在运行TeamCity 9.0并且必须设置默认分支。如果构建在默认分支上失败,但在最新版本/ *分支上成功,则项目将标记为失败。看这里: i.imgur.com/uxefDWb.png - Gaui
@Gaui我在他们的问题跟踪器中看过门票我相信你可以帮助upvote。也就是说,这个答案的解决方案对我们来说已经完美地工作了大约一年,所以对我来说这更像是一个麻烦而不是一个问题。 - angularsen
这似乎是他们的问题跟踪器中的主要票据: youtrack.jetbrains.com/issue/TW-24147 - angularsen
@DaveZych:根据链接问题中的最新评论,可以从自动触发中排除默认分支,但您仍将获得不断增长的待定更改列表。 - angularsen


答案:


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

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

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

默认分支: teamcity-default-dummy

根据我的理解,您需要指定除要排除的分支之外的默认分支。我相信它会在提交默认分支时触发,无论分支规范如何,但我可能错了。

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

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

2015年2月更新

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

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


13
2018-02-07 14:45



根据我的经验,Teamcity将始终触发对默认分支的提交,即使您放置了分支规范 -:refs/heads/whatever-your-default-is。令人失望,如果你问我。 - Dave Zych
这个问题已经2年了,还没有修好!默认分支对Git Flow不起作用,因为大多数时候你有功能/ *或发布/ *分支。我们正在运行TeamCity 9.0并且必须设置默认分支。如果构建在默认分支上失败,但在最新版本/ *分支上成功,则项目将标记为失败。看这里: i.imgur.com/uxefDWb.png - Gaui
@Gaui我在他们的问题跟踪器中看过门票我相信你可以帮助upvote。也就是说,这个答案的解决方案对我们来说已经完美地工作了大约一年,所以对我来说这更像是一个麻烦而不是一个问题。 - angularsen
这似乎是他们的问题跟踪器中的主要票据: youtrack.jetbrains.com/issue/TW-24147 - angularsen
@DaveZych:根据链接问题中的最新评论,可以从自动触发中排除默认分支,但您仍将获得不断增长的待定更改列表。 - angularsen


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


3
2018-01-30 04:42