我在7个左右的项目中负责~40个TeamCity构建。目前,他们每个人都有自己的Git凭据,这很愚蠢,因为他们实际上都使用相同的登录。它们只是略有不同,在那
我如何设置它以便它们在团队城市中使用相同的Git登录,这样当登录到期时,我不必重置30-ish密码?
我知道有构建参数,我可以分享VCS根,但这些根似乎只对同一个项目的构建可见...而且我没有看到这样做的方法“根”项目。
答案 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参数方法。