Dockerhub自动构build与多个私人回购

有一种方法可以在自动化dockerhub构build过程中连接到多个私有git仓库吗? 我们正在构buildgolang应用程序,并需要“去获得”其他私人回购作为我们构build的一部分,目前他们因为docker工人无法连接到他们而失败,只有目标私人回购。

主要的回购是好的,因为部署密钥通过Dockerhub安装,但任何后续的私人回购导入失败。

我能看到的一个方法就是在本地构build镜像,“docker工人”将其拖放到dockerhub上,然后在部署方面拉下来,这样做会影响dockerhub和自动化构build系统的function。 另一种是把ssh键烧成基本的图像,这不是一个好主意。

有没有人有一个解决scheme,这不涉及到本地烧图像或build设SSH密钥?

非常感谢。

单个ssh-key

如果你只有一个ssh-key ,那么将它添加到Docker容器的root ssh-path( /root/.ssh/id_rsa )应该足以成功地取回你的回购站。 取决于你的私人回购的地方,你应该添加一些其他的configuration到.ssh

多个ssh密钥

如果你有不同的ssh-keys我build议你为你所有的回购创build一个个人令牌。 所以你可以很容易地解决这个问题。 在获得之前,你应该更新git -url:

[从这里取: https : //gist.github.com/shurcooL/6927554 ]

 git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/".insteadOf "https://github.com/" 

有了这个改变,你应该能够成功地build立你的docker集装箱。


使用vendor工具可以帮助您解决这个问题。 从go1.5function正在处理中。 我们正在使用Glide ,它只存储参考(不是整体项目)。