【问题标题】:Team City execute Git scriptTeam City 执行 Git 脚本
【发布时间】:2015-11-14 11:24:47
【问题描述】:

我在本地系统帐户下的 Windows 上运行 TeamCity (9.x)。我也在服务器上安装了 mysysgit。我想使用推送到 git repo 的命令行构建步骤通过 TC 运行脚本。存储库是安全的,因此团队城市必须进行身份验证。我如何实现这一目标?凭据存储是每个用户的,因此不确定如何在本地系统上下文下存储凭据。通过http访问git。

【问题讨论】:

    标签: git teamcity teamcity-9.0


    【解决方案1】:

    确保不要安装obsolete msysgit,而是安装新的Git for Windows。

    我想使用推送到 git 存储库的命令行构建步骤通过 TC 运行脚本。存储库是安全的,因此团队城市必须进行身份验证。

    您只需要使用包含用户名的 http url。

    https://<username>@yourserver/<username>/<barerepo.git>
    

    然后您可以设置一个 git config credential.helper netrc,它将查找 %HOME%_netrc 文件的用户名和密码。
    我use an encrypted one,但由于 TC 无论如何都无法输入 gpg 私钥密码,您最好尝试使用纯文本格式的 _netrc 文件。

    machine yourserver
    login username
    password a_password
    protocol https
    

    确保将全局设置设置为与 TeamCity 用于运行的用户帐户相同的用户帐户。

    【讨论】:

    • @MylesMcDonnell 这是一个文字命令,它将使 git 调用 git-credential-netrc 以获取给定用户的密码和 http url。
    • 是的,明白了..windows 通过将 .txt 添加到 _netrc 文件中发现了我。现在可以使用了,谢谢
    • 我已经为 windows 安装了最新的 git,git.exe 在哪里?
    • @MylesMcDonnell stackoverflow.com/a/7671364/6309 或 stackoverflow.com/a/11928949/6309: 使用设置,它可能在 C:\Program files\Git\bin\git.exe。
    • 在我的服务器上,“system”没有设置“HOME”环境变量。我通过在我的 powershell 脚本的开头添加以下行来解决此问题:set-variable -Force HOME C:\home。这允许 git 在 c:\home_netrc 中找到凭据
    猜你喜欢
    • 2012-02-28
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    相关资源
    最近更新 更多