gpt4 book ai didi

docker - 用于确定性 CI 构建的可移植 docker 守护进程

转载 作者:行者123 更新时间:2023-12-01 03:18:14 24 4
gpt4 key购买 nike

我们希望利用 Docker 在 CI 构建中运行集成测试(使用 Bazel)。
我们需要支持 Debian 和 MacOS。

为了保证构建的正确性,并确保确定性和可移植性,我们不能依赖运行着 docker 守护进程的主机。构建需要带有自己的 docker 守护进程。
实现这一目标的最佳方法是什么?是否有标准的“可移植”docker 二进制文件?
如果没有,您认为什么是实现这一目标的正确方法?
在 linux 系统中,我想这会相对简单,因为我们只需要下载二进制文件并运行。
在 MacOS 中,我想我们需要将它与 hyperkit 捆绑在一起.

很想听听您对此的看法。

最佳答案

在构建Docker镜像方面,你应该看看bazelbuild/rules_docker (免责声明:我编写/拥有它们)。他们实现了我所知道的唯一正确确定性的 Docker 构建(至少按照 Bazel 的标准)。

他们通过避免使用 Dockerfile 和 Docker 守护程序(大多数其他方法使用)来做到这一点,因为尚不清楚它们会产生确定性工件。这也避免了根要求,这很好。

但是,您专门询问了测试,我们还没有解决。

@ittaiz也对这个感兴趣,开始了this讨论它的 Github 问题。你介意把讨论转移到那里吗?

关于docker - 用于确定性 CI 构建的可移植 docker 守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619124/

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