是否可以在TC中为构建设置VCS触发器,以便在合并时特定目录的内容发生更改时可以启动构建?
假设我的项目结构如下所示:
/
|_ foo/
|_ bar/
|_ test/
|_ file.txt
|_ baz/
我的VCS root只是配置为指向项目的根级别。换句话说,我没有任何自定义结帐规则,这意味着在每次构建时,TC都会签出整个项目副本。我还将 VCS结帐模式配置为始终在代理上签出文件,然后选中清除结构前的结帐目录中的所有文件
现在,我想创建一个VCS触发器,仅在/bar/test
目录的内容发生任何更改时才启动构建。根据我上面的项目结构,我使用以下配置创建了一个VCS触发器:
+:root=MyProject:bar/test/**
(此处" MyProject"是我给根的名称。基于我在TC触发器上阅读的所有文档,这应该已经完成了。但根据我的理解,实际行为与我的期望并不完全一致。
在这种情况下,当我将更改合并到foo/
目录时,没有按预期触发任何内容。但是,如果我将更改合并到bar/
目录,则会触发我的构建,即使这不是规则的配置。
我尝试过但没有成功的一些规则是:
+:root=MyProject:**bar/test**
+:root=MyProject:**test**
+:root=MyProject:/bar/test/**
+:**bar/test/**
+:**bar/test**
+:bar/test/**
+:bar/test
我尝试了很多不同的规则变化,但无论如何,我仍然看到触发器行为的不一致,我完全不知道为什么会发生这种情况。有没有人成功设置基本的VCS触发器?我也不完全理解的一件事是VCS root和触发器之间的关系,我觉得我可能会错误配置一些东西,但这很难说。