【发布时间】:2014-09-17 12:16:52
【问题描述】:
目标:我尝试创建一个 Pre-Tested Commits 方法(首先运行带有测试的 CI 构建,如果可以,然后将它们推送到“绿色”存储库)
问题:分支远程运行触发器不起作用,TeamCity 服务器不会拉取更改来运行构建。我不明白为什么会这样以及如何解决它。
说明:
我在一个 TC 项目中有两种配置。他们都监视相同的 git 存储库但不同的分支(默认情况下)。总共有 3 个分支:master(此处未使用)、develop(用于工作构建和绿色测试)和 artemPersonal(用于个人构建)
- WebUI 开发。仅将 refs/heads/develop 分支用于绿色存储库。成功的个人构建后,新的提交从 TC 来到这个分支。
-
WebUI 开发预测试提交。用途 refs/heads/artemPersonal 作为默认分支
2.1 我有一个带有分支路径的分支远程运行触发器:
refs/heads/artemPersonal我尝试了不同的变体,例如refs/heads/*.2.2 我有一个带有默认分支的 VCS 根:
refs/heads/artemPersonal和空的分支规范。我也尝试用一些值填充 branc 规范,但现在它是空的。
我推送到refs/heads/artemPersonal 并希望 TC 运行远程运行触发器来拉取更改并开始下一个构建。它没有。待处理的更改出现在 TC 的 UI 上,但构建没有开始。手动工作正常。
teamcity-remote-run.log 文件给出这样的消息:
在 VCS 根目录“网站开发”中的分支 'refs/heads/artemPersonal' Pre-tested Commits" 被 branchSpec 匹配,分支将被忽略
和
第一次运行 buildType 'WebSite :: WebUI develop 的触发器 预测试提交 3 个与模式匹配的分支。新提交或 新匹配的分支将触发个人构建。
P.S. 我知道不使用个人构建和分支远程运行触发器并使用简单的 VCS 触发器并仅检查 artemPersonal 分支的解决方法。但我想使用个人版本。
【问题讨论】:
-
你有没有让这个工作?我运行 TeamCity 8,但无法获取构建配置来检测我创建的任何分支(我按照文档中的简单步骤使用了默认的 'refs/heads/remote-run/*') .
-
不,我没有。太长了,我不记得解决方法了。
-
你不应该把它留在'refs/heads/remote-run/*',除非你的分支名称确实在那里。例如,我们要求分支名称为
users/userName/BranchName,因此触发器中的值为:''refs/heads/users/*'。
标签: .net git testing continuous-integration teamcity