Svn 如何在Teamcity中从触发生成中排除标记文件夹?

Svn 如何在Teamcity中从触发生成中排除标记文件夹?,svn,msbuild,triggers,tags,teamcity,Svn,Msbuild,Triggers,Tags,Teamcity,我最近安装了Teamcity 5.0.3。我正在尝试为.NET2.0VS2005项目设置自动生成。我使用NAnt和MSBuild任务来执行生成。项目结构是典型的SVN结构 svn://localhost/ITools 是我的存储库,项目结构是 视觉跟踪 trunk branches tags 我在Teamcity中创建了一个新项目,然后为该项目创建了一个构建配置。每次在SVN VisualTrack VCS中检测到更改时,我都要求它启动构建。我还将其配置为在VisualTrack/t

我最近安装了Teamcity 5.0.3。我正在尝试为.NET2.0VS2005项目设置自动生成。我使用NAnt和MSBuild任务来执行生成。项目结构是典型的SVN结构

svn://localhost/ITools 是我的存储库,项目结构是

视觉跟踪

 trunk

 branches

 tags
我在Teamcity中创建了一个新项目,然后为该项目创建了一个构建配置。每次在SVN VisualTrack VCS中检测到更改时,我都要求它启动构建。我还将其配置为在VisualTrack/tags中为每个成功构建创建一个标签。我遇到的问题是,每次teamcity在标记下创建新标签时,构建都会触发。我只希望在某些开发人员将其更改提交到主干中时触发构建。我采取的下一步是创建一个构建触发器规则,通过将触发器模式指定为-:VisualTrack/tags/**,来排除标记路径,但看起来它不起作用。我认为我指定的模式是不正确的。有人能帮我解决这个问题吗

谢谢


Jaya.

我建议您将此项目的TeamCity VCS根URL更改为:

svn://localhost/ITools/VisualTrack/trunk

这是一个更典型的设置。您可以在TeamCity中轻松设置多个VCS根配置。此VCS根目录只涉及构建项目的主干区域,听起来像是您想要的。

您可以使用的另一种方法,适用于通常不使用主干的VCS系统(如mercurial),是防止触发您提供给TeamCity的VCS用户名

为此:

  • 进入TeamCity的构建设置
  • 单击构建触发(在TeamCity 6.0.3的右侧)
  • 在触发器规则下,单击添加触发器规则
  • 选择“不触发生成”
  • 在VCS用户名下,输入您给TeamCity的用户名,或者您可以使用以下宏:%vcsroot.username%

  • 如果您使用此功能,您只需确保您为TeamCity提供了自己的帐户,以便使用您的VCS。无论如何,这是一个很好的实践。

    我只是在配置VCS根目录时提供了额外的信息,我将标签规则指定为/VisualTrack/trunck=>/VisualTrack/tags将检查间隔设置为使用全局服务器设置(60秒),对于版本控制设置,我将VCS签出模式设置为“不自动签出文件”,VCS标签模式是成功的,谢谢,Jaya纠正了我之前评论中的一个错误标签规则是/VisualTrack/trunk=>/VisualTrack/Tagst,这对SVN很有效,但对Mercurial这样的VCS不起作用。Mercurial固有地在系统中内置了标记,因此主干和标记之间没有SVN中通常存在的路径区别。我遇到的问题是,现在有了引用标记文件夹的方法(例如
    svn://localhost/ITools/VisualTrack/tags
    )从根目录(例如
    svn://localhost/ITools/VisualTrack/trunk