Versions Compared

Key

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

...

For each tool and process that is registered in the ib_profile.xml file, one of the following distribution types should be set:

  • local_only – the process can be executed on the local machine only. The process may be parallelized across multiple cores on the local machine, but it will not be processed remotely.

    This configuration is typically used for processes with low levels of parallelization. In these cases, the number of cores on the local machine may be enough to process it quickly, since local processing is faster than remote processing. It is also useful for processes that are reading and writing a lot of data from and to the disk. A typical process that is best run on the local machine is a linking process.

    If a process is not listed in any of the instances of the ib_profile.xml file, by default this process will be treated as local_only, and it will not be distributed to remote machines. However, if you deliberately do not want a process to run remotely, it is strongly recommended to explicitly specify this, in order to avoid the overriding of this default setting by other ib_profile.xml files. In this case, add the process entry to an ib_profile.xml file, and set its distribution type to local_only.

    For example:

    Code Block
    <processes>
      <process filename="mylinker"     type="local_only" />
    </processes>
  • allow_remote – the process can be executed both on the local machine and on remote machines.

    This configuration is typically used for processes with high level of parallelization. To instruct IncrediBuild Linux that a certain process can be distributed to remote Agent machines, add the process entry to an ib_profile.xml file, and set its distribution type to allow_remote.

    For example:

    Code Block
    <processes>
      <process filename="mycompiler"   type="allow_remote" />
    </processes>

intercepted – this distribution type instructs IncrediBuild Linux to examine the specified process to see if it includes child processes that are set as allow_remote. If the ib_profile.xml includes an allow_remote process, ALL the processes in the build process tree that lead to the execution of this process, must be set as intercepted.

Code Block
<processes>
  <process filename="mymake"   type="intercepted" />
</processes>

...

Code Block
<processes>
<process filename="MyBuilder"     type="intercepted" />
<process filename="MyMake"        type="intercepted" />
<process filename="MyCompiler"    type="allow_remote" />
<process filename="MyLinker"      type="local_only" />
</processes>

...

Alternatively, if the MyMake script is defined as intercepted, its gcc child processes are distributed separately by IncrediBuild Linux, and consequently they appear in the Build Monitor:

...

...