【问题标题】:Heroku: How to deploy a NodeJS app with a private repo dependency?Heroku:如何部署具有私有 repo 依赖项的 NodeJS 应用程序?
【发布时间】:2023-03-06 14:17:01
【问题描述】:

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

我如何授予 Heroku 对该单一存储库的只读访问权限,而不会不必要地公开任何凭据?

【问题讨论】:

    标签: node.js heroku package.json ssh-keys buildpack


    【解决方案1】:

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

    这就是最终的诀窍——请注意,我使用的是 Windows 10:

    • 在 git bash 中使用命令ssh-keygen -t ssh-rsa -C "myusername@protonmail.com"(空密码)生成密钥
    • *.pub 文件(由上述命令创建)内容复制并粘贴为此处的部署密钥:https://github.com/myusername/my-private-repo/settings/keys
    • 上面的my-private-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"
      }
    

    部署愉快?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 2018-05-28
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 2014-10-16
      • 2020-03-01
      相关资源
      最近更新 更多