配置 Incredibuild 在 Containers 中使用

您可以在装有 Docker、Podman 和 LXC 等容器的机器上安装 Incredibuild。Incredibuild 必须安装在主机上(不是在容器内),然后可以由该机器上的任何容器使用。这通常设计用于 Initiator 机器。

Incredibuild 会遵循容器的限制条件,并且不会使用主机上未分配给容器的资源,如 CPU 内核。如需确保遵循这些界限,请在容器中使用 ib_console 运行构建时使用 --max-local-cores 开关。

如需允许 Incredibuild 使用容器主机上的所有资源,使用 -no-cgroups 开关,请勿使用 -max-local-cores 开关。

使用方法

运行容器时,将容器命令 dockerpodmanlxc-start 替换为 ib_dockerib_podmanib_lxc-start。另外,在相关时使用 ib_console 构建命令。对比常规构建,-j 数量也应增加。

例如,如果 docker 命令如下所示:

docker run -i -t  -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -u 1000:1000 -v /home/xoreax/linux-2.6.34.14/:/home/xoreax/linux-2.6.34.14/  -w /home/xoreax/linux-2.6.34.14  1d070b96eb09 make -j 20

对于 Incredibuild,您可以按以下运行:

/opt/incredibuild/bin/ib_docker run -i -t  -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -u 1000:1000 -v /home/xoreax/linux-2.6.34.14/:/home/xoreax/linux-2.6.34.14/  -w /home/xoreax/linux-2.6.34.14  1d070b96eb09 ib_console --max-local-cores=6 make -j 80