如何配置 Heroku 以使用 GitHub PAT

如何配置 Heroku 以使用 GitHub PAT

我正在使用 Heroku、Node 和 GitHub。

我在 GitHub 中创建了一个 PAT(个人访问令牌)。我想用它在 GitHub 上安装一个私有存储库。

Node package.json 文件有对存储库的引用,我目前使用 HTTPS 作为协议。

例如,我想要安装的私有远程 GitHub repo 是:。https://myname:[email protected]/myname/project.git

但是 GitHub 已经撤销了的使用权token,因为它在我的 Git 提交中可见。

答案1

Heroku 不提供开箱即用的功能,并且package.json本身不支持环境变量

一种选择是将你的依赖项构建为 NPM 包并将其发布到私有包存储库中,例如宝石之怒,谁的Heroku 插件有免费计划支持单个私有模块。

简而言之,你可以发布你的模块到 Gemfury https://npm-proxy.fury.io/APPID/,然后是npm loginnpm publish。然后,在 Heroku 应用中这取决于你的私有模块,添加一个.npmrc包含

always-auth=true
registry=https://npm-proxy.fury.io/APPID/
//npm-proxy.fury.io/APPID/:_authToken=${FURY_AUTH}

并设置包含您的 Gemfury 身份验证令牌的 Heroku 配置变量FURY_AUTH

这意味着您必须先更新 Gemfury 上发布的库,依赖的应用程序才能看到您对其所做的更改。无论如何,这可能是一个好主意;依赖特定标记的版本比依赖可变分支更安全。

还有这个解决方法这可能让你有效地将环境变量注入到你的中package.json,但我还没有尝试过。

补充这个答案

1)创建环境变量关联

2)使用预安装钩子将环境变量写入 package.json 文件关联

相关内容