我正在尝试标记由多个签出组成的构建,如下所示:
+根
+ -trunk
+ - Folder1中
+ - 文件夹2
+标签都有效
+ - 项目A
+ ---构建-123
+ ---- Folder1中
+ ---- FOLDER2
其中Build-123中的123是内部版本号。
我正在尝试使用以下标签规则来实现这一目标:
/根/中继/ Folder1中=> /根/标签/项目A
/根/中继/ FOLDER2 => /根/标签/项目A
这种标签模式:
建设 - %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
答案 0 :(得分:0)
这似乎是对SVN方面的限制。我发现的唯一解决方案是直接调用SVN来创建目标文件夹(mkdir),然后使用svnCopy将每个源复制到该文件夹中。
答案 1 :(得分:0)
请阅读TeamCity's docs有关此主题的信息:
我想你需要像
这样的规则/Root/trunk=>/Root/Tags/ProjectA
或
/trunk=>/Tags/ProjectA
取决于您的存储库根目录的位置。
答案 2 :(得分:0)
似乎我们需要有标签规则,例如
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没有这样的通用规则