Incredibuild Linux のビルド

ここでは、Incredibuild Linux を使ってビルドを実行する方法をみていきます。Incredibuild Linux では既存のソースコードやビルド スクリプトを変更しなくても、ビルド コマンドにいくつかのオプションを追加するだけでビルドを実行できます。以下は Make の例です。

ib_console make -j 100

コマンドの詳細:

  • ib_console は常に追加される必要があります。

  • make は、別のビルドコマンドを置き換えられます。

  • -j は、マルチプロセッシング・コマンドのオプションです。同時に実行するタスクの最大数を定義します。設定値はお使いのグリッドで利用可能なコアよりも 20% 程度大きい値を目安にしてください。

注意: Incredibuild を使用してビルドを実行するには、Initiator に[Agent][Settings] ダイアログボックス ->[General]タブ のMinimum local cores for buildパラメータ で定義した最低数の利用可能なコアが存在することが必要です。そうでない場合、ビルドを開始できません。

コマンドライン オプションの追加

実行スイッチのヘルプを表示するには、ib_console コマンドの後に、-h または--help パラメータを入力してください。オプションはすべてビルド コマンドの前に追加する必要があります。

ib_console -h

オプション

説明

--build-cache-local-user

--build-cache-local-shared

--build-cache-local-group="groupname"

ローカルのBuild Cache を使用するには、次に示す3つのコマンドのいずれかを追加してください。キャッシュが、このマシン上の単一のユーザー(-user)、このイニシエータ上の全員(-shared)、または現在のユーザーを含む特定のユーザーグループ(-group)のいずれかを通じてアクセス可能で共有されているかを指定できます。

これは単独で使用することも、Shared Cacheに加えて使用することも可能です。

注意: これらのパラメータはバージョン3.19で変更されました。このパラメータは、以前は--avoid-local-user|group|sharedでした。オリジナルのパラメータはまだ使用できますが、将来のリリースでは非推奨になる可能性があります。

--build-cache-service= <URL>

このパラメータは、ホストマシンのプロトコル、IP またはホスト名、ポート番号で定義された Build Cache Service 上で動作するShared Cache を使用します。例:http://build-cache-service:8080

パフォーマンスを向上させるためにhttpプロトコルを使用することをお勧めします。

デフォルトのBuild Cache Serviceは、エージェント設定またはCLIで定義できます。デフォルトを定義している場合、このパラメータはURLなしで使用できます。デフォルトを定義し、パラメータで異なるURLを使用した場合、パラメータで指定された値が使用されます。

--build-cache-basedir=<path>

ファイルが同一であっても、Build Cache を使用する場合、Incredibuild は、異なるパスから発生したファイルをキャッシュ ミスとみなします。このパラメータを使用すると、同じようなビルドを実行している他のユーザーと共有しないパスの部分を定義できます。Incredibuildは、2つのファイルが同一であるかどうかを判断する際に、パスのこの部分を無視します。

例えば、ユーザー名をパスの一部に含む場合(例:/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 の登録を解除しているかどうかを確認します。登録している場合は0、登録していない場合は255を返します。

-d1

ビルドがハングアップ / スタックした場合やエラー メッセージとともに失敗した場合に、詳細な情報をログに追加するために使用します。このコマンドはビルドを再実行する際に使用します。

詳しくは、「-d1 コマンドの使用方法」 をご覧ください。

-f

「allow_remote」として指定されているビルド内のプロセスをすべてリモート マシンで実行します。リモート マシンが利用できない場合は、ローカル マシンでプロセスが処理されます。

-n

プロセスの優先度 (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 コンテナでビルドする場合にコンテナ外のリソースの使用を許可します。

--log-remote-path<path>

リモートログ収集 を使用する場合、このフラグは、このビルドのビルドログを格納する、マウントされたリモートディレクトリ内のサブフォルダを定義します。サブディレクトリは一意である必要があります。そうでない場合はタイムスタンプを付加して一意にしてください。