我们将Teamcity 2018与TFS一起使用。
我们有一个项目,其中的结构如下
Root <---- We want to checkout the whole Root-directory
\ProjectA <---- We want to show changes only from the sub-directory
\ProjectB
\ProjectB
我们想查看 Root \ ProjectA 目录中的更改,并仅显示在该目录下进行的更改。
但是,我们想检出整个 Root 目录并从那里运行构建。
有什么办法吗?
答案 0 :(得分:1)
触发规则可以帮助您完成此任务。在VCS触发器内,您可以指定一组规则来过滤或过滤各种条件,这些条件会导致您的构建配置触发。它们独立于您的VCS规则,这些规则将正常处理您选择结帐的内容。规则语法如下:
+|-[:[user=VCS_username;][root=VCS_root_id;][comment=VCS_comment_regexp]]:Ant_like_wildcard
在这种情况下, Ant_like_wildcard 是您特别感兴趣的元素,因为您可以使用它们(除其他外)来过滤特定目录。
以下是TeamCity文档中的一个示例:
“-:lib / **”阻止通过更新构建源的“ lib”目录来触发构建
使用您的示例,您的触发规则应类似于:
+:ProjectA/**
由于TeamCity处理这些类型的规则的方式,您可以使用单个包含而不是多个排除:
在指定规则时,请注意,一旦输入任何“ +”规则,TeamCity便会将隐式默认值从“包括所有”更改为“排除所有”。
您可以找到完整的TeamCity VCS触发器文档here