代码之家  ›  专栏  ›  技术社区  ›  Khash

Teamcity颠覆标签

  •  3
  • Khash  · 技术社区  · 15 年前

    我正试图给一个由多个签出组成的构建贴上标签,如下所示:

    +根
    +躯干
    +--文件夹1
    + -FoLDR2
    +标签
    +投影
    ++---123
    +--FLUDER1
    +--FLUDER2

    其中,build-123中的123是内部版本号。

    我试图通过使用以下标签规则来实现这一点:

    /根目录/trunk/folder1=>/root/tags/projecta
    /根目录/trunk/folder2=>/root/tags/projecta

    这种标签模式:

    内部版本-%System.Build.Number%

    我希望TeamCity能够创建build-123标签,并将folder1和folder2的内容复制到其中。但是,我得到以下错误:

    失败:未能设置标签“build-123”:SVN标记失败:无法将“root/trunk/folder1”、“root/trunk/folder2”复制到同一目录“root/tags/projecta/co-build-123”

    我正在使用TeamCity 5和Subversion 1.6

    3 回复  |  直到 12 年前
        1
  •  0
  •   Khash    15 年前

    这似乎是SVN方面的限制。我找到的唯一解决方案是直接调用svn来创建目标文件夹(mkdir),然后使用svn copy将每个源复制到该文件夹中。

        2
  •  0
  •   Aviad Rozenhek    13 年前

    似乎我们需要有标签规则,比如

    trunk => tags       # the trunk contains the root of my project
    branches/*/ => tags # a branch usually contains the a copy of the root of the project
    tags/*/ => tags     # a tag usually contains the a copy of the root of the project
    

    这将启用(重新)标记分支和标记,而不显式设置它们的名称。 不幸的是,TeamCity没有此类通用规则

        3
  •  0
  •   rolve Tomasz    12 年前

    请阅读 TeamCity's docs 关于本主题:

    我想你需要这样的规则

    /Root/trunk=>/Root/Tags/ProjectA
    

    /trunk=>/Tags/ProjectA
    

    取决于存储库根目录的位置。

    推荐文章