git - TeamCity 构建依赖关系并选择正确的分支

标签 git teamcity teamcity-8.0

我有一个包含三个构建配置的项目:

  1. 整合
  2. 部署开发
  3. 部署发布

构建配置 2 和 3 通过快照依赖于 1。

有 3 个 VCS 根:

  1. Git - 全部(与构建配置 1 一起使用)
  2. Git - 开发(与构建配置 2 一起使用)
  3. 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/

相关文章:

mysql - TeamCity 无法连接在 Docker 中运行的 MySQL

c# - OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL timed out

powershell - 更新 TeamCity powershell 脚本中的变量

git - 是否可以使用 git archive 仅下载在提交/修订中更改的文件

git - 将 Git 与 ClearCase、AccuRev 或 Perforce 一起使用的值(value)?

git - TeamCity 将功能分支推送到 master 分支

teamcity - 如何升级构建代理以支持 Java 8

TeamCity:向提交更改的用户发送电子邮件通知,这会导致构建链中的构建失败

git - gitignore 的类似正则表达式的 shell glob 模式

reactjs - Visual Studio Code [eslint] 在 windows 上删除 'CR' [prettier/prettier]