配置 Incredibuild 在 Containers 中使用
您可以在装有 Docker、Podman 和 LXC 等容器的机器上安装 Incredibuild。Incredibuild 必须安装在主机上(不是在容器内),然后可以由该机器上的任何容器使用。这通常设计用于 Initiator 机器。
Incredibuild 会遵循容器的限制条件,并且不会使用主机上未分配给容器的资源,如 CPU 内核。如需确保遵循这些界限,请在容器中使用 ib_console 运行构建时使用 --max-local-cores 开关。
如需允许 Incredibuild 使用容器主机上的所有资源,使用 -no-cgroups 开关,请勿使用 -max-local-cores 开关。
使用方法
运行容器时,将容器命令 docker、podman 或 lxc-start 替换为 ib_docker、ib_podman 或 ib_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