Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

To display the help for these flags, run the command ib_console -h. All flags are off by default, and when used they only apply to the current build.

...

Flag

...

Description

...

--avoid-user

...

Avoid re-building objects that are up-to-date in order to accelerate the build execution and improve performance. This is based on the personal cache of each user, as opposed to --avoid-shared (details below).

This flag reduces the build time by using a built-in caching option, which enables you to rebuild only objects that were modified, and not the whole code base. The performance improvement will be mainly manifested from the second execution onward, after the cache is populated in the first build execution.

Notes:

  • This flag is not useful for Single-Use VMs, which are launched for a one-time execution of build, and once the execution is completed, are terminated.  

Using this flag requires additional storage space, which is allocated on the Initiator machine for the cache. It is recommended to allocate for this cache 15 GB. This can be configured in Agent Settings > General > Build Avoidance Cache Size. You can also manage the cache using the /opt/incredibuild/management/build_avoid_cache.sh script.

...

--avoid-user

...

Avoid re-building objects that are up-to-date in order to accelerate the build execution and improve performance. This flag is based on the personal cache of each user, as opposed to --avoid-shared (details below).

This flag reduces the build time by using a built-in caching option, which enables you to rebuild only objects that were modified, and not the whole code base. The performance improvement will be mainly manifested from the second execution onward, after the cache is populated in the first build execution.

Notes:

  • This flag is not useful for Single-Use VMs, which are launched for a one-time execution of build, and once the execution is completed, are terminated.  

  • Using this flag requires additional storage space, which is allocated on the Initiator machine for the cache. It is recommended to allocate for this cache 15 GB. This can be configured in Agent Settings > General > Build Avoidance Cache Size. You can also manage the cache using the /opt/incredibuild/management/build_avoid_cache.sh script.

...

--avoid-shared

--avoid-basedir <dirname>

...

Avoid re-building objects that are up-to-date in order to accelerate the build execution and improve performance. This flag is the same as --avoid-user, except that it is based on a shared cache of multiple users.

The flag must be used by all users sharing the cache.

The build avoidance cache stores files according to their directory. If you are using a shared cache, since the files may be stored in different paths for different users, they will not be recognized as identical. Therefore, you also need to use the --avoid-basedir flag to ignore the prefix of the directory that varies.

E.g.

  • User1 has a project located in /home/user1/project

  • User2 has the same project in /home/user2/project

They want to share their cache.

  • User1 should run builds using the command ib_console --avoid-shared --avoid-basedir /home/user1

  • User2 should run builds using the command ib_console --avoid-shared --avoid-basedir /home/user2

Tip: Using --avoid-basedir without --avoid-shared allows you to utilize your personal cache if you have the same project in two locations for any reasonl.

...

--avoid-logfile <filename>

...

When using -avoid-user or --avoid-shared, you can use this flag to create a log file with details about the cache operation.

...

--ib-crash

...

For log export: if a build crashes, and you want to export its log and send it to IncrediBuild Support, this flag adds information to the log that can help discover the causes of the crash.

This flag should be used together with the -d1 flag during the re-executing of the build.

Using this flag may impact the build performance.

For more information, see Using the --ib-crash Command.

...

-c / --caption

...

Specify a build name in order to display it in the Build Caption column of the Build History. This flag is for display purposes only.    

For example:

ib_console -c Test make –j 40

...

Note: If you are entering more than one word as the build caption, do not use a blank space between the words.     

...

-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 flag adds important information to the log.

This flag should be used during the re-executing of the build.

For more information, see Using the -d1 Command.

...

-f, -f1, -f2

...

For managing the execution of processes that are defined as "allow_remote" in the ib_profile.xml file.     

  • -f - Give priority to remote distribution. This flag instructs everything in the build that is indicated as "allow_remote" to run on remote machines. However, if no remote machine is available, the processes will run on the local machine. 

  • -f1 - The same as -f

  • -f2 - Force remote distribution. This flag instructs everything in the build that is indicated as "allow_remote" to run on remote machines. If no remote machine is available, the processes will not run on the local machine, but will be in a pending state until a remote machine will be available.

    Note: If you are using the -f2 flag and no remote machine is available, no progress will be shown in the bottom pane of the Build Progress screen. However, in the upper pane, the System Graphs, some activity may be registered since it reflects the processes that occur on the Initiator machine:

    Image Removed

...

-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 on the Build History, but its data will not be displayed in the Build Progress for monitoring.

Note: Using the --no-monitor option can improve the build performance, but you should use it only if you do not need to save the build data and you do not want to monitor its progress.

For example:

ib_console --no-monitor make –j 40

...