リリースノート
3.15
-
Yocto 4、Amazon Linux 2、Ubuntu 22.04のサポートを追加しました。
-
ライセンスの有効期限が切れる30日前に通知するアラートを追加しました。
-
Build Avoidanceアルゴリズムで使用しているccacheのバージョンをアップグレードしました。3.15にアップグレードした後、最初に実行するビルドは、自動的にキャッシュをリフレッシュし(1回のみ)、速度が遅くなる可能性があります。
-
全体的なパフォーマンスとスケーラビリティの改善。
3.14.1
-
3.14のリグレッションでヘルパーが十分に活用されない、という問題を修正しました。
-
Podman と lxcコンテナ のサポートを追加しました。
3.14.0 (piリリース!)
-
AOSP 12 のサポートを追加しました。
-
コマンドラインに新しいフラグ を追加し、ヘルパーエージェントが現在登録されているかどうか確認できるようにしました。
-
ヘルパーエージェント が Coordinator の最初の接続時に、自動登録されるかどうかを決定できるようになりました。
-
ヘルパーエージェントをより効率的に活用するためのアルゴリズムを改良しました。
バージョン 3.13.0
-
Incredibuild Linux によるYocto のビルドサポートが可能になりました。
-
ユーザーインターフェース全体を一新し、見た目と使用感を向上させました。
-
圧縮機能のために遅くなっていたビルドを最適化できるようになりました。
-
パフォーマンス解析のために、追加のパフォーマンスデータをデータベースに送信するオプションを追加しました。
-
ディスク使用量を削減するために内部データベースを最適化し、パフォーマンスを向上させました。ただし、このバージョンにアップグレードすると、以前のバージョンのビルドのビルドモニタデータにアクセスできなくなります.
3.12.3
-
安定性とパフォーマンスの向上。
バージョン 3.13.0
-
Docker の CPU メモリ管理を改善しました。
-
レポート作成エラーが発生した場合、ユーザー インターフェイスにエラー メッセージが表示されるようになりました。
-
バージョン 3.11.0 で導入されたログのエクスポートに関連するマイナーなバグを修正しました。
-
テキスト出力で改行が認識されないことがある問題を修正しました。
バージョン 3.13.0
-
Incredibuild のユーザーインターフェースにアクセスするために、HTTPS の使用が可能になりました。
-
Incredibuild コンポーネント間の通信を暗号化するために、SSLの使用が可能になりました。
-
Incredibuild はDocker コンテナのリソース制限を守りようになりました。
-
ビルド実行時に イニシエーターが使用するローカルコアの最大数を指定できるようになりました。
-
ログファイルのエクスポート速度を向上させました。
-
バグを修正し、安定性が向上しました。
バージョン 3.13.0
Incredibuild Cloud が利用可能になりました
Incredibuild Cloud では、クラウド VM を使って数百コアまで瞬時にスケールアップすることができます。コスト削減とパフォーマンスの最大化のためのアルゴリズムが採用されています。
バージョン 3.13.0
- Android Open Source Platform (AOSP) 11 に対応可能となりました。
- インストール とアップグレード のプロセスが、同じ統一インストーラーから実行可能になりました。
- システム要件 を更新しました。
- グラフを追加し、選択方法を改善しました。
- 保留中のビルドを停止できるようになりました。
- バグを修正し、安定性が向上しました。
バージョン 3.13.0
Incredibuild Linux UI が次に対応しました。
-
コーディネーター モニターの操作: 複数のマシンに対してフィルターを使った一括操作
-
コーディネーター モニターの表示: ページごと最適なエントリ数の選択
-
コーディネーター モニターの絞り込み表示: 検索列を選択するためのドロップダウンの追加
-
バグを修正し、安定性が向上しました。
バージョン 3.13.0
注意: Incredibuild Linux は、Semantic Versioning 規則に移行しています。これにより、新しいバージョンがリリースされた際に、どのような種類の変更が行われたのかが分かるようになりました。バージョン 0.96.80 の次のバージョンは 3.8.3 (以前の形式では 0.96.91) となります。
コーディネーター モニター:
-
コーディネーター モニターのグリッド表示にフィルター機能を追加しました
項目
Agent のステータス
-
Agent Name
-
Agent IP
-
Build Group
-
Licensed / Agent’s Cores
-
Initiator / Helper Active Cores
-
Memory
-
Operating System
-
Model Name
-
Version
-
Subscribed
-
Unsubscribed
-
Online
-
Offline
-
-
Agent UI のアクセスを管理できるようにユーザー認証を追加しました。ユーザー グループは次の 2 つです。
-
認証ユーザー (編集・閲覧が可能)
-
ゲスト ユーザー (閲覧のみ可能)
-
既定では無効です。ユーザーが作成されていなければ、ユーザー認証は無効になります。
-
--no-monitor モードでの実行時においてもモニタータブを開くことが可能になりました。
-
[Build History] タブから「ビルドを停止」できるようになりました。
-
[Task Information] 画面に「Task Duration (タスク期間)」を追加しました。
ビルド グループ:
-
ビルド グループに新たな機能が追加されました。
-
コーディネーター モニターからマシンをビルド グループに割り当てられるようになりました (サブスクライブの操作と同様)。
-
Initiator には同じビルド グループを共有する Helper のコアしか割り当てることはできません。
-
-
すべてのマシンが「既定」のビルド グループの一員として定義済みです。
-
ビルド グループの設定 (編集、追加、削除) は [Coordinator Settings] タブで行うことができます。
インストールの検証:
-
ディスクの空き容量が 50 GB 未満かつディスク パーティションの 20% 未満の場合、インストールに失敗します。
-
ディレクトリのアクセス権が不足している場合、Incredibuild のストレージに tmpfs ファイル システムを使用できません。
バージョン 0.96.80
Android 10 (Q) (AOSP) に対応しました。
Incredibuild Linux で Android 10 (Q) ビルドの実行を高速化できるようになりました。
詳しくは、「Android 10 OS Buildの実行」 をご覧ください。
バグを修正し、安定性が向上しました。
バージョン 0.96.80
新しいライセンス タイプ「シングルユース VM」の導入
Incredibuild Linux に新しいライセンス タイプ「シングルユース VM (SUVM)」を導入しました。このライセンスはタスクの実行に CPU リソースを追加で提供するためだけに起動される仮想マシンやコンテナを想定しており、対象のタスクが終わるとマシンは停止します。SUVM ライセンスはマシンの起動時にコーディネーターによって自動的に割り当てられます。タスクが終わってマシンが停止すると、ライセンスは割り当て解除・回収されます。回収されたライセンスは次回のビルドで再度利用されます。詳細については、Sales@Incredibuild.com までお問い合わせください。
新規ビルド回避 機能
新しく実装されたキャッシング オプションにより、最新のオブジェクトをリビルドしないことで、タスク実行のプロセスを高速化することができます。この機能はニーズやリソースに応じて、シェルから簡単にオン・オフを切り替えることができます。
Bazel への対応
Bazel (~ 0.25.0) と Bazel サンドボックスでのビルドに対応しました。
追加の改善点:
-
インストール プロセスを改善しました。
-
Incredibuild Linux の動作に必要なネットワーク ポートの設定作業をより簡単かつ安全に行えるようになりました。
バージョン 0.96.80
-
Coordinator の再起動時にビルドが失敗することがある問題を修正しました。
-
ビルドを実行中に Initiator と Coordinator の接続が切断するとビルドが失敗する問題を修正しました。
-
安定性が向上しました。
バージョン 0.96.80
ビルド システムへの対応
Gradle ビルドの高速化を試験的にサポートしました。詳細については、support@Incredibuild.comまでお問い合わせください。
パフォーマンス
- 実行時のパフォーマンスが最大 20% 向上するオプションを追加しました。このオプションを使用すると、グラフィカルな表示やビルド クエリに使われる Incredibuild のデータ表示機能が無効になりますが、コンソール画面のビルド出力やビルド履歴は利用できます。次の 2 つの方法で使用できます。
ib_console のコマンドラインに「--no-monitor」オプションを追加する。
開始マシンのAgent設定で、可視化タブの「ビルドモニタを有効にする」のチェックボックスを無効にします。
-
一般的な最適化を行うことでパフォーマンスを最大 7% 向上させることができます。
その他
-
新しいライセンスを Coordinator に読み込んでも Agent 間でライセンス コアの割り当てが維持されるようになりました。
-
安定性に関する様々なバグを修正しました。
バージョン 0.96.80
ビルド システムへの対応
-
Bazel ビルド システムを試験的にサポートしました。人気の高いTensorFlowプロジェクトをコンパイルするベンチマークでは、x7.5 の高速化ブーストを実現し、65分かかっていたTensorFlowのコンパイルを8.5分まで短縮することがわかりました。
-
Incredibuild で Bazel ビルドを実行するには通常の Bazel コマンドに次を追加します。
--jobs=N --local_resources=R,N,1
N には Incredibuild 環境のコア総数、R には N に 200 を掛けた値を入力します。例えば、Incredibuild 環境に 70 コアがある場合は次の通りです。
--jobs=70 --local_resources=14000,70,1
-
ccache のサポートについて:Incredibuild は、すべての操作モード (明示的な呼び出しとソフトリンクによる暗黙的な呼び出し) で ccache を完全なサポートが可能になりました。詳細は ccache のマニュアルhttps://ccache.samba.org/manual.html#_run_modesを参照してください。
Incredibuild で作成された ccache のデータベースが、Incredibuild なしで実行したビルドで使用されること (またはその逆) があります。つまり、Incredibuild の使用に関係なく ccache との完全な相互運用性があります。
インストール
-
ユーザー側で Incredibuild を更新する際のトラブルを回避するため、新しいユーティリティ スクリプト「ib_apply_upgrade.sh」を導入しました (格納場所: /opt/incredibuild/management)。このスクリプトを Coordinator がインストールされているマシン上で sudo を使って実行すると、更新用の tar ファイルを取得できます。コマンドラインの例は次の通りです。
sudo /opt/incredibuild/management/ib_apply_upgrade.sh Incredibuild_upgrade_0.94.95.tar.bz2
ファイルが適当な場所に解凍されて、ネットワーク上のすべての Agent が Coordinator と同一バージョンに更新されます。
-
Incredibuild のインストールの変更。
-O <coordinator ip/hostname> は -C オプションが指定されていない場合のみ必要になりました。Coordinator をインストールする際には、ローカル ホストが必要なので、-O は不要となります。
その他
-
chroot 管理スクリプトが更新され schroot を正しくサポートするようになりました。
ib_chroot.sh と ib_schroot.sh の 2 つのスクリプトがあります。
ib_chroot.sh は通常の chroot 用で、構文は同じです。
ib_schroot.sh は schroot ユーザー用です。ib_schroot.sh が chroot が作成されるディレクトリではなく、chroot の名前をパラメーターとして受け取ることが大きな違いです。これは schroot の正規の構文に準拠しています。追加と削除のセマンティクスは同じで、コマンドライン ヘルプに表示されます。
重要:Incredibuild から schroot ディレクトリにアクセスできるようにするには、 /etc/schroot/default/fstab ファイルに以下の行を追加する必要があります。
/opt/incredibuild /opt/incredibuild none ro,bind 0 0