gpt4 book ai didi

git - Dockerhub 自动构建多个私有(private)仓库

转载 作者:IT老高 更新时间:2023-10-28 21:40:51 32 4
gpt4 key购买 nike

在自动 dockerhub 构建期间,有没有办法连接到多个私有(private) git 存储库?我们正在构建 golang 应用程序,需要在构建过程中“获取”其他私有(private)存储库,但目前它们失败了,因为 docker 无法连接到它们,只有目标私有(private)存储库。

主存储库很好,因为部署 key 是通过 Dockerhub 安装的,但是任何后续私有(private)存储库导入都会失败。

我可以看到解决此问题的一种方法是在本地构建镜像,将其“docker push”到 dockerhub,然后在部署端将其 pull 下,这违背了 dockerhub 和自动构建系统的目的。另一种是将 ssh key 烘焙到基础镜像中,这不是一个好主意。

是否有人对此有不涉及将 ssh key 烘焙到图像或在本地构建的解决方案?

非常感谢。

最佳答案

单个 ssh key

如果你只有一个ssh-key,则将其添加到Docker容器中的root ssh-path(/root/.ssh/id_rsa ) 应该足以成功提取您的存储库。取决于您的私有(private)仓库在哪里,您可能应该在 .ssh 中添加一些其他配置。

多个 ssh key

如果你有不同的 ssh-keys 我建议你为你的所有 repos 创建一个个人 token 。这样您就可以轻松解决问题。您应该在获取之前更新 git-url:

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

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

通过此更改,您应该能够成功构建您的 docker-container。


使用 vendor 工具可以帮助您解决这个问题。从 go1.5 开始,可以使用 vendoring 功能。我们正在使用 Glide它只存储引用(而不是整个项目)。

关于git - Dockerhub 自动构建多个私有(private)仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27437439/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com