我是 Docker 新手。最近在学习docker的一些基础知识。 我正在开发一个 C++ 项目,该项目应该在 Windows、Linux 和 MacOS 上运行。每个操作系统都支持两个架构:x64 和 arm64。由于该存储库是私有存储库,因此我必须为 CI/CD 设置自己的自托管运行器。
我已经设置了一个 docker 映像(ubuntu x64),它可以帮助我在真正的 x64 Linux 机器上构建源代码。
理想情况下,我想通过另外 5 个不同的 docker 镜像在同一台 Linux 机器上运行 x64 Windows、arm64 Windows、x64 Mac、arm64 Mac 和 arm64 windows。 但在网上查了一些基础知识后,看起来这并不是很现实。不过,我不确定。
我有兴趣在 CI/CD 设置中使用 docker 有两个目的
为了澄清,当我说构建代码时,我实际上需要在 CI/CD 中运行单元测试,以确保问题的行为保持预期。
如果有人能提供一些建议,我将不胜感激。 我想我什至不确定 Docker 是否应该首先解决这些问题。
我做了一些到目前为止有效的尝试
似乎不起作用的是
谢谢
如果您使用自托管运行器,您所需要做的就是添加 arch 仿真 (qemu)。尝试运行具有不同拱门的
helloworld
docker。实际上,可以在 Linux 映像上构建 Windows 应用程序。您只需要设置一个环境并构建交叉编译器(或设置一个多架构编译器,但对于 ci-cd 我强烈建议构建您自己的交叉编译器实例)。