应用标签触发构建

问题描述 投票:0回答:4

我想实现以下目标:

  1. 开发团队中的任何人都会创建一个标签,即 Demo_Build_1 到开发分支。
  2. TeamCity 应该能够检测到这个新标签并仅构建此标签。

我在 VCS 配置中启用了“将标记视为分支”复选框。

我已尝试对其进行配置,但无法使其正常工作。以下是我的 VCS 设置: enter image description here
以下是我配置构建触发器的方式: enter image description here

我不想手动触发构建。我的想法是 TeamCity 应该能够选择这个新标签并运行构建。任何实现此目标的指示都会有所帮助。

git teamcity git-tag
4个回答
12
投票

你几乎猜对了。您可以使用配置参数

teamcity.vcsTrigger.runBuildInNewEmptyBranch=true
告诉 TeamCity 在标签创建上进行构建 - https://youtrack.jetbrains.com/issue/TW-43606。 否则,当您看到新标签时,TeamCity 将不会触发构建。


5
投票

由于我还没有找到任何完整的答案,我想我可以让别人省去几个小时的偶然工作。我没有设法仅通过编辑分支规范来构建标签。 在 VCS 触发器和 VCS 根中使用分支规范不会导致任何构建。添加 -:refs/heads/dev 分支规范仍将在分支中构建提交。作为一种解决方法,人们可以创建一个未使用的分支,并将其指定为默认分支。这样,由于没有人提交到该分支,因此不会构建常规提交,并且将始终构建标签。

  1. 创建仅监控标签的第二个 VCS 根
  2. 在第二个 VCS 根的分支规范中,删除您不想在常规提交上构建的默认分支,然后 添加参考/标签/*
  3. 添加不带分支过滤器的 VCS 触发器
  4. 这就是触发器设置应该是什么样子
  5. 添加神奇的配置参数

这就是我的设置: enter image description here

enter image description here

enter image description here

enter image description here

enter image description here


1
投票

我的配置与@jsaddwater 的配置非常相似,但略有不同:

版本控制设置>分支过滤器:

+:*
-:<default>

版本控制设置 > VCS 根目录:

  • 默认分支:master

  • 分公司规格:

+:refs/tags/*
-:<default>
  • ☑ 允许在分支规范中使用标签

触发器 > VCS 触发器:

  • 分支过滤器:(留空

参数

添加或设置配置参数:

teamcity.vcsTrigger.runBuildInNewEmptyBranch
,值为 true。


已在 TeamCity 2019.1.5 上进行测试和工作。


0
投票

我最近有同样的问题,这个帖子通过对 @jsaddwater 答案的一个修改帮助找到了解决方案:

不要在 VCS 根列表下的版本控制设置中创建两个 VCS 根,而是单击 -> 显示高级选项并添加分支过滤器:

+:*
-:<default> 

Version Control Settings ->高级选项

© www.soinside.com 2019 - 2024. All rights reserved.