Executing Your Builds Using Incredibuild Linux

In order to execute your builds using Incredibuild Linux, you do not need to make any changes to your existing source code or build scripts. All you need to do is to add the some switches to your build commands as seen in the following example for make:

ib_console make -j 100

Where: 

  • ib_console must always be added

  • make can be replaced a different build command

  • -j is your multiprocessing command option. It defines the maximum number of concurrent tasks that will be provided to Incredibuild for distribution. We recommend this number be 20% higher than the cores available in your grid.

Note: To execute builds using Incredibuild, the Initiator must have a minimum number of available cores that you define in the Minimum local cores for build parameter, in the AgentSettings dialog box -> General tab. Otherwise, the build will not start.

Additional Command Line Switches

To display the help for the execution switches, enter the -h or --help parameter after the ib_console command. All switches should be added before the build command.

ib_console -h

Switch

Description

--avoid-user

--avoid-shared

--avoid-basedir

Avoid re-building objects that are up-to-date in order to accelerate the build execution and improve performance. To learn about how to use these switches, see Build Avoidance.

-c / --caption

Specify a build name to display in the Build Caption column of the Build History. This command is for display purposes only. If you are entering more than one word as the build caption, do not use a blank space between the words. For example:

ib_console -c Test make –j 40

-d1

For log export: if a build hangs or gets stuck during execution, or if a build fails with error messages and you want to export its log, this command adds important information to the log. This command should be used during the re-executing of the build.

For more information, see Using the -d1 Command.

-f

Instructs everything in the build that is indicated as "allow_remote" to run on remote machines if possible. However, if no remote machine is available, the processes will run on the local machine.

-n

Specify a Nice value to set the priority of the process. A Nice value should be numeric and between -20 (high priority) and 19 (low priority).

To learn more about Nice, enter:

man 2 nice

--no-monitor

Do not save the build data in the database. The build record will appear in the Build History, but its data will not be displayed in the Build Progress for monitoring. This is used to improve performance in cases where you do not need to monitor a build or save it's data. For example:

ib_console --no-monitor make –j 40

--max-local-cores=N

Specify a maximum number of cores on the initiator machine to use during the build.

--no-cgroups

When running builds in a Docker container, allow Incredbuild to use resources outside of the container.