我正在尝试设置 TeamCity 构建以仅构建功能分支,而忽略 master、develop 等。
我目前在我的分支规范中有这个:
+:refs/heads/feature/*
以下设置适用于我在 TeamCity 8.0.6 上的预发布版本。
分支规范(选择“显示高级设置”时可见):
+:refs/heads/hotfix/(*)
+:refs/heads/release/(*)
默认分支:teamcity-default-dummy
据我了解,您需要指定一个默认分支,而不是要排除的分支。我相信无论分支规范如何,它都会在提交到默认分支时触发,但我可能错了。
我必须为我的预发布构建配置创建一个虚拟分支并在此处指向默认值,因为我刚刚收到一个错误,它无法从我的仓库中不存在的主分支获取更改。您可能不需要这样做。
相关,我发现这篇文章对于使用 TeamCity 设置 git 非常有用。尽管这侧重于 git-flow,但相同的概念适用于任何分支模型。
2015 年 2 月更新
从 TeamCity 9.0 开始,您仍需要指定默认分支,默认分支将触发构建。对于这种情况,我建议创建一个永远不会提交的虚拟分支,例如上面的示例。
目前这是不可能的。您必须定义一个默认分支。TeamCity 在计算功能分支和许多其他地方的构建更改时会将其考虑在内。作为一种解决方法,您可以修改构建脚本以在默认分支上运行时执行不同的操作。