Teamcity - 所有项目的全局VCS Root

Kir*_*tor 2 git version-control teamcity

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

  • 他们检查不同的分支机构
  • 他们使用不同的基础仓库(但在同一台服务器上)

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

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

Ste*_*man 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 root为其提供值的任何配置%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参数方法.