使用来自 env 变量的令牌从私有 Github 存储库安装 NPM 包

Posted

技术标签:

【中文标题】使用来自 env 变量的令牌从私有 Github 存储库安装 NPM 包【英文标题】:Installing an NPM package from private Github repo using a token from an env variable 【发布时间】:2017-03-08 10:23:30 【问题描述】:

我在私有 GitHub 存储库中有一个 Node 项目,其中包含对另一个私有 GitHub 存储库的 NPM 依赖项,例如:


  "dependencies": 
    "my-secret-module": "git+ssh://github.com/user/repo-name.git#sha"
  

该项目正在 Heroku 上运行,在尝试从私有存储库安装时,npm install 步骤在部署期间失败。

我知道在 GitHub 上生成 OAuth 令牌并在上述 URL 中使用它们的可能性如下:git+ssh://<token>@github.com/user/repo-name.git,但我不想将令牌存储在版本控制中。

最理想的情况是将令牌简单地存储在环境变量中,所以我的问题是:对于这种情况,是否可以使用环境变量通过 GitHub 进行身份验证?或者其他类似绑定到 Heroku 应用的东西?

【问题讨论】:

【参考方案1】:

您可以查看this buildpack,它允许您添加 ssh 密钥以用作环境变量。另外,看看这个SO answer,它的作用基本相同,但使用的是预构建脚本。

【讨论】:

以上是关于使用来自 env 变量的令牌从私有 Github 存储库安装 NPM 包的主要内容,如果未能解决你的问题,请参考以下文章

如何使用个人访问令牌在 github 操作工作流 (B) 中从不同的 repo(B) 提交和推送到私有 repo(A)

markdown 从私有GitHub仓库下载单个文件。您需要一个访问令牌,如本GitHub帮助文章中所述:https://help.github

如何使用 GitHub REST API 通过我的个人访问令牌访问组织拥有的私有存储库中的文件数据?

如何在 GitHub Actions 中构建的 Dockerfile 中使用 github 令牌并尝试克隆私有存储库?

GitHub OAuth2 令牌:如何限制访问以读取单个私有仓库

dotenv-webpack 环境变量不适用于 Github 操作