【发布时间】:2012-03-13 02:47:05
【问题描述】:
我们正在使用 gitolite 来管理我们的存储库,我们的 heroku 项目之一有 git 子模块。有没有办法获取 Heroku 的公钥进行身份验证?
谢谢,大卫
【问题讨论】:
-
难道没有人使用 Heroku 可以拉出那个子模块吗?此外,值得检查 Heroku 在 slug 编译期间是否有可用的公钥/私钥。
我们正在使用 gitolite 来管理我们的存储库,我们的 heroku 项目之一有 git 子模块。有没有办法获取 Heroku 的公钥进行身份验证?
谢谢,大卫
【问题讨论】:
@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 注册的专用 id_rsa 密钥(“部署密钥”)的 .ssh 目录。不要忘记chmod 0660密钥。
【讨论】:
不,可能不会。相反,当您在 git 存储库 similar to deploying private gems to Heroku 中创建子模块时,您可以使用 HTTPS 基本身份验证。看起来像这样:
git submodule add https://username:password@github.com/username/repo.git
【讨论】:
fatal: I don't handle protocol 'git clone https'
.git 目录中的 submodule 文件夹在 1.8.4 版本中已从 .git/submodules 更改为 .git/modules。我认为这破坏了 Heroku 的部署程序