目标:我尝试创建预先测试的提交方法(首先使用测试运行CI构建,然后将其推送到"绿色"存储库,如果可以)
问题:分支远程运行触发器无法正常工作,TeamCity服务器无法提取更改以运行构建。我无法理解为什么会这样以及如何解决它。
说明
我在一个TC项目中有两个配置。他们两个都看同一个git存储库但是不同的分支(默认)。共有3个分支:master(这里不使用),develop(用于工作构建和绿色测试)和artemPersonal(用于个人构建)
WebUI开发预先测试的提交。用途 refs / heads / artemPersonal作为默认分支
2.1我有一个分支远程运行触发器,带有分支路径:refs/heads/artemPersonal
我尝试了不同的变体,如
refs/heads/*
。
2.2我有一个设置VCS root的默认分支:refs/heads/artemPersonal
和空分支规范。我还尝试用一些值来填充branc规范,但现在它已经空了。
我推送到refs/heads/artemPersonal
并期望TC运行Remote-Run触发器以提取更改并开始下一次构建。它没有。挂起的更改显示在TC的UI上,但构建没有启动。手动工作正常。
teamcity-remote-run.log文件提供了这样的消息:
分行' refs / heads / artemPersonal'在VCS root'" WebSite Development 预先测试的提交" 与branchSpec匹配,分支将被忽略
和
首次运行buildType' WebSite :: WebUI的触发器 预测试提交与模式匹配的 3个分支。新的提交或 新的匹配分支将触发个人构建。
P.S。我知道解决方法是不使用个人构建和分支远程运行触发器并使用简单的VCS触发器并仅检查artemPersonal
分支。但我想使用个人版本。
答案 0 :(得分:0)
我认为您用于个人构建的分支是refs / heads / artemPersonal。 它不应出现在VCS Root的默认分支或分支规范列表中。
要运行个人构建,您需要在要使用的每个构建配置上定义触发器。 (例如,要监视的分支模式= refs / heads / *)。在您的情况下,您可以使用WebUI Develop。
确保您在Team city和Git中拥有相同的用户名。