【发布时间】:2014-05-13 10:51:35
【问题描述】:
我有一个带有 3 个经典分支(dev、staging、master)的 Git 存储库。 我正在尝试在 TeamCity 8.1.x 中设置 VCS,以便仅在推送到存储库中的特定子文件夹时触发构建。
示例: 在 dev 分支下,我有 2 个文件夹:
(dev)
- ServiceAPI/
- ServiceAPI.Test/
现在,我希望 TeamCity 仅在我推送 ServiceAPI 文件夹中的更改时触发构建,而不是另一个 (ServiceWeb.Test)。
我尝试设置几个不同的配置(我认为这可以使用 Branch Specification 来完成,但它不起作用,或者我做错了)。
在 VCS 配置中,我有:
默认分支设置为 dev
分支规范设置为 + :refs/heads/dev/ServiceAPI/*
假设 Default 分支 始终处于活动状态,
我尝试在 Branch 规范 中添加 -:refs/heads/dev/* 来取消它,但它不起作用。
我也尝试在 Default 分支 中放置与 dev 不同的分支,但是在 dev 中推送更改时触发器不起作用strong> 分支,无论分支规范中有什么。
然后我尝试通过将 -:refs/heads/dev/ServiceAPI.Test/* 插入到分支规范来排除 ServiceApi.Test 文件夹>,但这也没有用。当我将更改推送到任一文件夹时,TeamCity 就会构建。
我希望我能很好地解释这个问题。如果您需要更多信息,请告诉我。
任何想法都将受到欢迎。
问候, 贡纳尔
更新:这个问题已经解决了,但是我不记得具体是怎么解决的了,我懒得去检查了。但是,如果有人遇到此问题但无法解决,请随时告诉我,我很可能会重现该问题并在需要时提供详细答案。
【问题讨论】: