我可以在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"} 

只是推到我自己的回购用于这个项目。 像魅力一样工作。