Jos*_*ose 4 git version-control teamcity triggers
我希望 Teamcity 在特定文件夹的特定分支上发生 gerrit 更改时触发构建。我无法实现相同的目标,非常感谢您所有有经验的用户的任何建议。
以下是我的结构的样子,我希望构建同时被 Branch dev 和 Staging 触发,仅在 New/Folder/My_Content 下进行任何更改,而不是在任何其他 foder 、文件内容上
- Branch dev
--Repo
* New/Folder/My_Content
* Folder 2
* Folder 3
* File1.txt
* File1.html
* File1.log
- Branch Staging
--Repo
* New/Folder/My_Content
* Folder 2
* Folder 3
* File1.txt
* File1.html
* File1.log
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的
VCS root name: my_root
set on branches
+:refs/(changes/*)
+:refs/heads/dev
+:refs/heads/Staging
VCS Trigger rules:
+:root=my_root:New/Folder/My_Content/**
Branch filter:
+:changes/*
Run Code Online (Sandbox Code Playgroud)
上述规则总是在所有文件夹上触发构建,除了我需要的文件夹。
我的第二个问题是,我可以在 VCS 触发器规则中使用参数吗?事情如下。
VCS Trigger rules:
+:root=my_root:New/Folder/%my_var%/**
Branch filter:
+:changes/*
Run Code Online (Sandbox Code Playgroud)
您只需要为分支添加两个 VCS Rootsdev并且Staging您要触发并指定您需要触发的文件路径。详细设置如下:
在 Version Control Settings Tab 中,分别添加两个 VCS 根:
第一个 VCS 根名称是<repo URL>+:refs/heads/dev,默认分支是refs/heads/dev.
第二个 VCS 根名称是<repo URL>+:refs/heads/Staging,默认分支是refs/heads/Staging.
下面是一个示例 VCS 根配置:
对于 VCS 签出模式,您可以选择Always checkout files on agent,然后选择Allow builds in the default branch。

在 Triggers Tab 中,将触发规则设置为+:New/Folder/My_Content/**。
| 归档时间: |
|
| 查看次数: |
3443 次 |
| 最近记录: |