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"
}
部署愉快
我想在 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"
}
部署愉快