我想实现以下目标:
我在 VCS 配置中启用了“将标记视为分支”复选框。
我已尝试对其进行配置,但无法使其正常工作。以下是我的 VCS 设置:
以下是我配置构建触发器的方式:
我不想手动触发构建。我的想法是 TeamCity 应该能够选择这个新标签并运行构建。任何实现此目标的指示都会有所帮助。
你几乎猜对了。您可以使用配置参数
teamcity.vcsTrigger.runBuildInNewEmptyBranch=true
告诉 TeamCity 在标签创建上进行构建 - https://youtrack.jetbrains.com/issue/TW-43606。 否则,当您看到新标签时,TeamCity 将不会触发构建。
由于我还没有找到任何完整的答案,我想我可以让别人省去几个小时的偶然工作。我没有设法仅通过编辑分支规范来构建标签。 在 VCS 触发器和 VCS 根中使用分支规范不会导致任何构建。添加 -:refs/heads/dev 分支规范仍将在分支中构建提交。作为一种解决方法,人们可以创建一个未使用的分支,并将其指定为默认分支。这样,由于没有人提交到该分支,因此不会构建常规提交,并且将始终构建标签。
我的配置与@jsaddwater 的配置非常相似,但略有不同:
版本控制设置>分支过滤器:
+:*
-:<default>
版本控制设置 > VCS 根目录:
默认分支:master
分公司规格:
+:refs/tags/*
-:<default>
触发器 > VCS 触发器:
参数:
添加或设置配置参数:
teamcity.vcsTrigger.runBuildInNewEmptyBranch
,值为 true。
已在 TeamCity 2019.1.5 上进行测试和工作。