マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

ツール・サービス紹介

2023.04.12

【OSS情報】大規模ビルドツール「Buck2」

【OSS情報】大規模ビルドツール「Buck2」

オープンソース大規模ビルドツール「Buck2」の
「概要」「特徴」「機能」「オフィシャルサイト情報」について紹介しています。

【OSS情報】大規模ビルドツール「Buck2」

【OSS情報】大規模ビルドツール「Buck2」

Buck2の「概要」

「Buck2」(バック2)とは、Meta(Facebook)が提供する大規模ビルドツールです。
「高速」「高信頼性」「拡張性」を特徴としており、多くのプラットフォームでさまざまな言語をサポートしています。

ポイント

・多言語対応 :「C++」「Python」「Java」「Rust」など
・「コアルール」と「言語固有ルール」の完全な分離
・ビルド依存関係を分析
・リモート実行
・並列処理
・仮想ファイルシステム統合
・従来版「Buck」より約2倍の高速化
・大規模プロジェクト向けに最適化

Buck2の「特徴」

ビルドツール「Buck」の後継

■「Buck」とは
・Meta(Facebook)が開発したビルドツール
・有能なビルドシステム
・Meta(Facebook)の一部で使用されている

■「Buck2」とは
・「Buck1」の最良の部分を維持することを目的とした書き直し
・他ビルドシステムからのアイデアも取り入れている :「Bazel」「Pants」「Shake」「Tup」など
・「Buck1」の2倍の速さでビルドを完了

■Buck2をBuck1と比較した場合の利点
→buck2.build →docs →benefits

クエリ可能なターゲット

・ビルドは「BUCKファイルで指定された一連のターゲット」として定義
・他のターゲットに依存
・ターゲットグラフを照会できる
・潜在的な影響を理解できる :それらが互いにどのように関連しているか?

高信頼性ビルド

・Buck2ルールはデフォルトで密閉
・依存関係の欠落はエラーとなる
・これらの制限は「ユーザー作成BUCKファイル」と「言語規則」の両方に適用

フェーズ並列化

・ユーザーが要求した結果をもたらす単一グラフ内の一連の依存関係のみ
・異なるフェーズを並列化
・変化を正確に追跡できる

Pythonライク言語「Starlark」

・「Starlark」=決定論的なPythonライク言語
・すべてのルールは Starlarkで記述
・ターゲットをリテラルとして定義する
・高度な操作や共有を可能にする
・ルール反復処理が大幅に高速化

Buck2の「機能」

リモート実行機能

・一連のリモートサーバにアクションを送信してビルド実行
・並列処理が大幅に向上

複数プログラミング言語構成機能

■1つのビルドに多数の異なる言語を含めることができる
・C++
・Python
・Java
・Go
・Rust
・Erlang
・OCaml

ファイル監視機能

・ファイル変更モニタリングツール「Watchman」と統合
・どのファイルが変更されたかを検出

仮想ファイルシステム「Eden」統合機能

・優れたパフォーマンスが得られる
・通常のファイルシステムでも問題なく動作する

Buck2の「オフィシャルサイト情報」

オフィシャルサイト

→buck2.build

GitHubページ

→github.com →facebook →buck2

主要開発元

Buck2は「Meta(Facebook)」が中心となり開発が進められています。

→opensource.fb.com

ライセンス情報

Buck2のライセンスは「MIT License」+「Apache License 2.0」です。

詳細について、こちらを参照ください。

→github.com →facebook →buck2 →LICENSE-MIT

→github.com →facebook →buck2 →LICENSE-APACHE

コンパイル環境

Buck2はRustで記述されているため、コンパイルにはRust公式インストーラー「rustup」が必要です。

インストール

→buck2.build →docs →getting_started

【お知らせ】ITセミナー「マジセミ」のご紹介

「 マジセミ 」では、日々、多くのIT関連セミナーを開催しています。

参加者のみなさまのために「本当に役立つ情報の提供」を目標としています。

また、「 マジセミ 」を通じて、デジタル関連プロダクト(サービス)との「新たな出会いの場」「新たな体験の場」を創造することで、「IT業界の発展」「製造業の発展」「エンジニアの活躍促進」の実現を目指しています。

多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ一度、ご参加ください。

マジセミ


参考サイト
→github.com →facebook →buck2
→buck2.build

おすすめの記事

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。