【问题标题】:heroku + git submodule needs authenticationheroku + git 子模块需要身份验证
【发布时间】:2012-03-13 02:47:05
【问题描述】:

我们正在使用 gitolite 来管理我们的存储库,我们的 heroku 项目之一有 git 子模块。有没有办法获取 Heroku 的公钥进行身份验证?

谢谢,大卫

【问题讨论】:

  • 难道没有人使用 Heroku 可以拉出那个子模块吗?此外,值得检查 Heroku 在 slug 编译期间是否有可用的公钥/私钥。

标签: git heroku gitolite


【解决方案1】:

@kanzure 方法还有另一种解决方案:https://stackoverflow.com/a/29464430/990356

转到Settings > Personal access tokens 并生成启用repo 范围的个人访问令牌。

现在您可以使用git clone https://MY_TOKEN@github.com/user-or-org/repo 和子模块git submodule add https://MY_TOKEN@github.com/user-or-org/repo

优点:

  • 非常简单的方法
  • 令牌可以轻松撤销
  • 您的真实密码是安全的

缺点:

  • 如果有人有权访问令牌,他就可以访问您的 GitHub 存储库(读写)

【讨论】:

    【解决方案2】:

    您还可以使用您的帐户或专用部署帐户提交包含在 github 注册的专用 id_rsa 密钥(“部署密钥”)的 .ssh 目录。不要忘记chmod 0660密钥。

    【讨论】:

    【解决方案3】:

    不,可能不会。相反,当您在 git 存储库 similar to deploying private gems to Heroku 中创建子模块时,您可以使用 HTTPS 基本身份验证。看起来像这样:

    git submodule add https://username:password@github.com/username/repo.git
    

    【讨论】:

    • github 为此推出了一项新功能:github.com/blog/…
    • 我今天试了一下,得到了这个:fatal: I don't handle protocol 'git clone https'
    • 你到底输入了什么?
    • .git 目录中的 submodule 文件夹在 1.8.4 版本中已从 .git/submodules 更改为 .git/modules。我认为这破坏了 Heroku 的部署程序
    • @Yasky,Heroku 解决了吗?
    猜你喜欢
    • 1970-01-01
    • 2012-08-25
    • 2015-03-04
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2020-10-16
    相关资源
    最近更新 更多