使用 Incredibuild Linux 执行构建
使用 Incredibuild Linux 执行构建,您无需修改现有源代码或构建脚本。您只需要将一些开关添加到构建命令中,如以下 make 示例所示:
ib_console make -j 100
其中:
-
必须始终添加 ib_console
-
make 可以替换为其他构建命令
-
-j 是多重处理命令选项。其定义了将提供给 Incredibuild 进行分发的最大并发执行任务数。我们建议该任务数应比您网格中可用的核心高 20%。
注意:如需使用 Incredibuild 执行构建,则 Initiator 必须具有您在 AgentSettings dialog box -> General 选项卡中的构建最小本地核心数参数中所定义的最小可用核心数。否则,构建将不会启动。
其他命令行开关:
在 ib_console 命令后输入 -h 或 --help 参数,显示执行开关的帮助:所有开关均应在构建命令之前添加。
ib_console -h
开关 |
描述 |
---|---|
--build-cache-local-user --build-cache-local-shared --build-cache-local-group="groupname" |
添加这三个命令之一,以使用本地 Build Cache。您可以指定缓存供哪些用户访问和共享,是供本计算机上的单个用户(-user),还是该 Initiator 上的所有人(-shared),还是包括当前用户在内的特定用户组(-group)。 它可以单独使用,也可以与 Shared Cache 一起使用。 备注:这些参数在版本 3.19 中有所更改。它们曾经是 --avoid-local-user|group|shared。原始参数仍然有效,但在未来版本中可能会被弃用。 |
--build-cache-service= <URL> |
使用运行在 Build Cache 服务上的 Shared Cache,需要指定以下信息:协议,主机的 IP 地址或主机名,主机机器的端口号。例如:http://build-cache-service:8080. 我们建议使用 http 协议来提高性能。 您可以在 Agent Settings 中或使用 CLI 定义一个默认的 Build Cache 服务。如果您已经定义了默认值,您可以在没有 URL 的情况下使用此参数。如果您定义了默认值,但在参数中使用了不同的 URL,则将使用参数中指定的值。 |
--build-cache-basedir=<path> |
在使用 Build Cache时,即使文件完全相同,Incredibuild 也会将来自不同路径的文件视为缓存未命中。这个参数允许您定义路径中哪一部分不会被其他运行类似构建的用户共享。这样,Incredibuild 在判断两个文件是否相同时,就会忽略路径的这一部分。 例如,如果您将用户名作为路径的一部分(如 /home/john_doe/projectA/libs/src/pm-functions.cpp),则可以将 basedir 定义为 /home/john_doe/projectA/。 此参数为必填项。 注:此参数在版本 3.19 中有所更改。以前是 --avoid-basedir。原始参数仍然有效,但在未来版本中可能会被弃用。 |
-c / --caption |
指定构建名称,在 Build History 的 Build Caption 列中显示。此命令仅用于显示。如果您输入的构建标题为多个单词,各单词之间不留空格。例如: ib_console -c Test make –j 40 |
--check-license |
检查 Coordinator 是否已订阅或取消订阅 Helper Agent。如果已订阅,则返回 0,如果取消订阅,则返回 255。 |
-d1 |
用于日志导出:如果执行期间,构建挂起或卡死,或如果构建失败,反馈错误信息,而您希望导出日志,那么此命令可以将重要信息添加到日志中。此命令应在重新执行构建期间使用。 更多信息,请参阅 Using the -d1 Command。 |
-f |
在可能的情况下,指示设定为"allow_remote”的构建内的所有事项在远端机器上运行。但是,如果远端机器不可用,进程将在本地机器上运行。 |
-n |
指定 Nice 值,设定进程的优先级。Nice 值应为 -20 和 19 之间的数字(低优先级)。 输入以下内容,了解 Nice 有关信息: man 2 nice |
--no-monitor |
请勿将构建数据保存到数据库中。构建记录将在 Build History 中显示,但是其数据不会在 Build Monitor 上显示。这用于在无需监测构建或保存其数据的情况下提高性能。例如: ib_console --no-monitor make –j 40 |
--max-local-cores=N |
指定在构建过程中使用的 Initiator 机器的最大核心数。 |
--no-cgroups |
在 Docker 容器中运行构建时,允许 Incredbuild 使用容器外部资源。 |
--log-remote-path<path> |
当使用远程日志收集时,使用这个标志可以指定一个挂载远程目录内的子文件夹,用于存储当前构建的构建日志。子目录应该是唯一的,但如果不是唯一的,我们将在目录后添加时间戳,以确保其唯一性。 |