TeamCity构建依赖和选择正确分支

6
我有一个项目,有三个构建配置:
  1. 集成
  2. 部署开发
  3. 部署发布
构建配置2和3通过快照依赖于配置1。
有3个版本控制系统根目录:
  1. Git - All(与构建配置1一起使用)
  2. Git - Develop(与构建配置2一起使用)
  3. Git - Master(与构建配置3一起使用)
默认分支和分支规范如下: Git - All 默认分支:

develop

分支规范:

+:refs/heads/(develop)
+:refs/heads/(master)
+:refs/heads/(feature/)
+:refs/heads/(hotfix/
)
+:refs/heads/(release)
+:refs/heads/(support/*)

Git - Develop 默认分支:

develop

分支规范:

+:refs/heads/(develop)

Git - Master 默认分支:

master

分支规范:

+:refs/heads/(master)

问题是...
当我运行第三个构建配置的构建时,我希望依赖项检查主分支上的集成构建。但是它没有这样做,而是始终使用集成构建配置的默认分支(目前是develop)。
有什么办法可以实现我想要的?
  • 只有一个集成构建配置
  • 只有一个依赖于develop分支更新的单独构建配置
  • 只有一个依赖于master分支更新的单独构建配置
我过去的做法涉及在单个构建配置上使用多个CVS端点,这似乎也是错误的,如果可能的话,我想避免那种方法。

2
你最终解决了这个问题吗?我现在也遇到了同样的问题... :/ - Mario Tacke
我也是 - 和你的设置完全一样。有运气吗? - Esteban
很抱歉,我记不清了,因为这是一段时间以前的事情,但我认为我留下了有关报告错误挂起更改的信息。很抱歉无法提供更多帮助。 - Tim Peel
1个回答

2

我建议使用变量来设置分支规范和VCS触发器。这样可以重复使用VCS根,同时仍然可以在每个构建配置中选择值,从而提高灵活性。


谢谢,那么这会是默认分支和分支规范字段中的一个变量吗?这是因为TeamCity在构建配置中使用<default>而不是实际分支名称所导致的。我在发布问题后不久将其更改为单个VCS路线,但现在会出现不同分支的虚假挂起更改报告。如果您能详细说明您的答案,那就太好了。 - Tim Peel
请问能否澄清一下“这是由于TeamCity使用…”这句话的意思是什么?是由此引起了什么问题吗? - Pedro Pombeiro
1
它选择错误的依赖构建的原因是,Deploy Release构建配置正在从其VCS路线的“<default>”分支运行,它正在寻找与Integration构建配置匹配的依赖项。由于它使用了“<default>”而不是实际逻辑分支名称,它选择了等同于develop分支的Integration构建,这是错误的,这导致了我的问题。 - Tim Peel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接