【问题标题】:Teamcity - Global VCS Root for all projectsTeamcity - 所有项目的全球 VCS 根
【发布时间】:2015-09-08 16:22:28
【问题描述】:

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

  • 他们结帐不同的分支机构
  • 他们使用不同的基础存储库(但在同一服务器上)

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

我知道有构建参数,并且我可以共享 VCS 根,但这些根似乎只对同一项目的构建可见......而且我看不到对“根”项目。

【问题讨论】:

    标签: git version-control teamcity


    【解决方案1】:

    共享 VCS 根目录

    根项目将是设置在所有项目中继承的 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% 提供值。如果您有很多使用 refs/heads/master 的配置,您可以在 Root project 级别指定此参数的默认值,以使事情变得更容易。

    他们使用不同的基础存储库(但在同一台服务器上)

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

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

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

    【讨论】:

    • 我会在早上试试这个,但其中一些似乎表明我不像我想象的那样是管理员。
    • 啊,是的,能够做到这一点确实需要系统管理员权限
    猜你喜欢
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多