我可以在Heroku上使用npm private github依赖关系吗?
我试图推送一个Node.js应用程序到Heroku。 该应用程序使用npm来获取在package.json
中指定的私人github存储库,像这样…
"dependencies": { "my-private-dep": "github:my-org/my-repo" }
由于github主机密钥不在容器known_hosts
文件中,构build在npm install
阶段失败。
remote: npm ERR! Host key verification failed.
这是SSH的预期行为。 Heroku是否为此提供解决方法? 例如,使用相同buildpack的 dokku有一个主机密钥插件 ,它会在每次构build之前将主机密钥注入到容器中,从而解决此问题。 Heroku有类似的解决scheme吗?
事实certificate,有一个buildpack,使这个相对容易 –
https://github.com/debitoor/ssh-private-key-buildpack
然而,我发现,无论什么原因,设置SSH_HOSTS
环境variables对我来说工作不正常 – 根据文档,它应该默认设置Github,然后你可以添加其他人,如果你喜欢…我是实际上使用Gitlab这个特定的项目,但发现当我设置configuration如此:
$ heroku config:set SSH_HOSTS="git@gitlab.com"
它没有被发现。 我结束了克隆的buildpack和改变bin/compile
第13行
ssh_hosts=${SSH_HOSTS:-"git@gitlab.com"}
只是推到我自己的回购用于这个项目。 像魅力一样工作。