如何在特定文件夹上为Git VCS触发器设置Teamcity触发器

时间:2017-11-14 17:57:36

标签: git version-control triggers teamcity

我希望Teamcity在特定文件夹上的特定分支上发生gerrit更改时触发构建。我无法达到同样的效果,非常感谢所有有经验的用户提出的任何建议。

以下是我的结构的样子,我希望构建由Branch dev& amp;暂存,仅限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

这就是我试过的

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/*

上述规则总是触发所有文件夹上的构建,而不是我需要的所有文件夹。

我的第二个问题是,我可以在VCS触发器规则中使用参数吗? 事情如下。

VCS Trigger rules:
+:root=my_root:New/Folder/%my_var%/**
Branch filter:
+:changes/*

1 个答案:

答案 0 :(得分:1)

您只需为要触发的分支devStaging添加两个VCS根,并指定所需的文件路径引起。 详细设置如下:

  • 在“版本控制设置”选项卡中,分别添加两个VCS根目录:

    第一个VCS根名称为<repo URL>+:refs/heads/dev,默认分支为refs/heads/dev

    第二个VCS根名称为<repo URL>+:refs/heads/Staging,默认分支为refs/heads/Staging

    以下是VCS根配置示例:

    enter image description here

    对于VCS结帐模式,您可以选择Always checkout files on agent,然后选择允许默认分支中的构建enter image description here

  • 在“触发器”标签中,将触发规则设置为+:New/Folder/My_Content/**

    enter image description here