Teamcity - 所有项目的全局VCS Root

时间:2015-09-08 16:22:29

标签: git version-control teamcity

我在7个左右的项目中负责~40个TeamCity构建。目前,他们每个人都有自己的Git凭据,这很愚蠢,因为他们实际上都使用相同的登录。它们只是略有不同,在那

  • 他们检查不同的分支
  • 他们使用不同的基本回购(但在同一台服务器上)

我如何设置它以便它们在团队城市中使用相同的Git登录,这样当登录到期时,我不必重置30-ish密码?

我知道有构建参数,我可以分享VCS根,但这些根似乎只对同一个项目的构建可见...而且我没有看到这样做的方法“根”项目。

1 个答案:

答案 0 :(得分:7)

共享VCS根目录

Root项目将是设置在所有项目中继承的VCS根目录的地方;并且由于使用相同的登录来对主机存储库服务器进行身份验证,您也可以在该根级别定义它。

要在Root项目中添加VCS根目录,请导航至:

https://{HostServer}/admin/editProject.html?projectId=_Root&tab=projectVcsRoots

然后您可以点击Create VCS root。然后,TeamCity实例中的任何构建配置都有权附加该VCS根目录。在创建VCS根目录时设置登录详细信息。

参数化VCS根目录

  

他们检查不同的分支

您可以参数化Default branch以根据构建参数动态配置VCS根分支,这需要在子项目或配置级别提供/覆盖。例如:

%system.DefaultBranch%

作为Default branch值,需要使用VCS根进行任何配置,以便为%system.DefaultBranch%提供值。您可以在Root project级别为此参数指定默认值,以便在使用refs/heads/master时使用大量配置时更轻松。

  

他们使用不同的基本回购(但在同一台服务器上)

同样,您可以参数化Fetch URL以根据构建参数动态配置VCS根目录,这需要在子项目或配置级别提供/覆盖。例如:

git@bitbucket.org:myname/%system.GitRepositoryName%

作为Fetch URL,需要使用VCS root进行任何配置,以便为%system.GitRepositoryName%提供值。这可以作为Project参数或Build Configuration参数提供。如果您有多个构建配置都使用同一个项目下的相同存储库,那么最好采用Project参数方法。