当我想运行相同的构建配置但是在不同的VCS根目录时,有人能告诉我配置TeamCity构建的最佳方法是什么?
e.g;我有几个'build&测试存储库的配置(对于repo中的每个项目),我想复制master / develop / r1.0 / etc分支中的所有设置?
过去我刚刚复制了整个构建配置集并更改了VCS root来实现这一点,但随着分支数量的增加(随着时间的推移增加了更多的发布分支),我该如何简化配置并最小化如果关于构建的某些内容发生了变化,我需要改变多少个地方?
答案 0 :(得分:4)
以下是我对这个问题的看法。 我认为您的解决方案是在VCS根目录中使用Build配置模板+参数化。 我们有大约20个构建配置(1个配置= 1个分支),只有两个模板和一个vcs root。配置的所有常见内容都保存在模板中。只有少数特定参数在配置中,您可以在从模板创建配置时使用它们。其中一个是分支名称,在我的情况下与配置名称高度相关。
模板
VCSroot仅指向源控件的根。 vcs root的分支参数设置为自定义分支参数,构建配置继承自构建配置模板。
我们有像这样的分支机构
-Master
-Development
-Releases__3.4.1
|_3.4.2
|_3.4.3
Master和开发正在使用持续集成模板,每个新版本分支都使用Release配置模板。对我来说,为3.4.4分支创建新配置的过程如下:
点是发布模板中的分支名称参数是这样的
%BranchPath%=Release/%ConfigurationName%
对于持续集成模板,它将是
%BranchPath%=%ConfigurationName%
此外,在VCS中,根分支设置为从配置传入的%BranchPath%,因此VCS可以使用这两个模板和所有20个配置 这就是全部.. :)希望它以某种方式帮助