Heroku:如何部署具有私有存储库依赖项的 NodeJS 应用程序?

Heroku: How to deploy a NodeJS app with a private repo dependency?

我想在 Heroku 上部署一个 NodeJS 应用程序,它有一个在 package.json 中列为依赖项的私有存储库。

如何授予 Heroku 对这个单一存储库的只读访问权限,而不暴露任何不必要的凭据?

这个问题已经以各种形式被反复问过,但我无法得到任何有效的答案。

这是最终成功的方法 — 请注意,我在 Windows 10:

  • 使用命令ssh-keygen -t ssh-rsa -C "myusername@protonmail.com"(空密码)在gitbash中生成密钥
  • 复制并粘贴 *.pub 文件(由上述命令创建)内容作为部署密钥:https://github.com/myusername/my-private-repo/settings/keys
  • my-private-repo 上面指的是依赖关系,而不是你正在部署的 repo
  • 在 Heroku 上,添加 https://github.com/heroku/heroku-buildpack-ssh-key.git 作为 buildpack — ABOVE — heroku/nodejs buildpack
  • 将您的 Heroku 应用程序的环境变量 BUILDPACK_SSH_KEY 设置为 - ENTIRE - 另一个文件(不是以 .pub 结尾的文件)的内容,包括NEWLINE 在末尾(不确定这是否是可选的)
  • package.json 中设置依赖项 URL,如下所示:
  "dependencies": {
    "my-private-repo": "git+ssh://github.com/myusername/my-private-repo.git"
  }

部署愉快