我有一个包含三个构建配置的项目:
- 整合
- 部署开发
- 部署发布
构建配置 2 和 3 通过快照依赖于 1。
有 3 个 VCS 根:
- Git - 全部(与构建配置 1 一起使用)
- Git - 开发(与构建配置 2 一起使用)
- Git - Master(与构建配置 3 一起使用)
默认分支和分支规范如下:
Git - 所有
默认分支:
develop
分支规范:
+:refs/heads/(develop)
+:refs/heads/(master)
+:refs/heads/(feature/)
+:refs/heads/(hotfix/)
+:refs/heads/(release)
+:refs/heads/(support/*)
Git - 开发
默认分支:
develop
分支规范:
+:refs/heads/(develop)
Git - 精通
默认分支:
master
分支规范:
+:refs/heads/(master)
问题来了...
当我为第三个构建配置运行构建时,我希望依赖项检查 master 分支上的集成构建。它没有做,将始终使用集成构建配置(当前开发)的默认分支。
有没有办法实现我想要的?
- 有一个集成构建配置
- 有一个单独的构建配置,仅依赖于开发分支更新
- 有一个单独的构建配置,仅依赖于 master 分支更新
我过去的做法涉及在单个构建配置上使用多个 CVS 端点,这似乎也是错误的,我想尽可能避免这种情况。
最佳答案
我建议为分支规范和 VCS 触发器使用变量。这允许您重用 VCS 根目录,同时仍然让您可以灵活地选择每个构建配置中的值。
关于git - TeamCity 构建依赖关系并选择正确的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22333809/