【问题标题】:TeamCity build dependencies and choosing the correct branchTeamCity 构建依赖项并选择正确的分支
【发布时间】:2014-04-15 13:00:34
【问题描述】:

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

  1. 集成
  2. 部署开发
  3. 部署发布

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

有 3 个 VCS 根:

  1. Git - 全部(与构建配置 1 一起使用)
  2. Git - 开发(与构建配置 2 一起使用)
  3. Git - Master(与构建配置 3 一起使用)

默认分支和分支规范如下:

Git - 全部

默认分支:

开发

分支规范:

+:refs/heads/(开发)
+:refs/heads/(master)
+:refs/heads/(feature/)
+:refs/heads/(hotfix/
)
+:refs/heads/(发布)
+:refs/heads/(support/*)

Git - 开发

默认分支:

开发

分支规范:

+:refs/heads/(开发)

Git - 大师

默认分支:

主人

分支规范:

+:refs/heads/(master)

问题来了……

当我为第三个构建配置运行构建时,我希望依赖项检查主分支上的集成构建。它没有这样做,并且将始终使用集成构建配置的默认分支(当前正在开发)。

有没有办法实现我想要的?

  • 拥有单一的集成构建配置
  • 有一个单独的构建配置,仅依赖于开发分支更新
  • 拥有一个仅依赖于主分支更新的单独构建配置

我过去的做法涉及在单个构建配置上使用多个 CVS 端点,这似乎也是错误的,我想尽可能避免这种情况。

【问题讨论】:

  • 你有没有想过这个问题?现在遇到同样的问题...:/
  • 我也是 - 与您的设置完全相同。运气好吗?
  • 恐怕不是,这是很久以前的事了,所以我记不清了,但我想我把它留在了报告不正确的待处理更改上。抱歉,无法提供更多帮助。

标签: git teamcity teamcity-8.0


【解决方案1】:

我建议为分支规范和 VCS 触发器使用一个变量。这使您可以重用 VCS 根目录,同时仍然可以灵活地选择每个构建配置中的值。

【讨论】:

  • 谢谢,那么这会是默认分支和分支规范字段中的变量吗?这是因为 TeamCity 使用 而不是跨构建配置的分支的实际名称。在我发布问题后不久,我将其更改为单个 VCS 路由,但现在得到不同分支的虚假挂起更改报告。如果您能详细说明您的答案,那就太好了。
  • 您能否澄清一下“这是因为 TeamCity 使用 ...”这句话。这是什么原因造成的?
  • 选择错误依赖构建的原因。由于 Deploy Release 构建配置从其 VCS 路由的“”分支运行,它会在 Integration 构建配置中查找匹配的依赖项。由于它使用“”而不是实际的逻辑分支名称,因此它选择了与开发分支等效的集成构建,这是错误的,这导致了我的问题。
猜你喜欢
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 2017-03-10
  • 2016-04-04
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多