マジセミドライブ

ウェビナー関連のニュースや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分用語解説】 「 心理的安全性 」が無い職場とは?🤐

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

2025.03.17

【デジタル寺田の3分用語解説】 「 心理的安全性 」が無い職場とは?🤐

「 心理的安全性 」が低い職場とはどのような環境なのか、具体的な特徴を解説します。「質問しづらい雰囲気」「失敗を報告できない隠蔽体質」「発言をためらう風土」など、心理的安全性の欠如がもたらす影響を詳しく紹介し、安全な職場づくりの重要性も解説します。

【デジタル寺田の3分用語解説】 「 ウェルビーイング 」とは?😊

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

2025.03.10

【デジタル寺田の3分用語解説】 「 ウェルビーイング 」とは?😊

「 ウェルビーイング 」とは、身体的・精神的な健康だけでなく、社会的・経済的にも満たされた状態を指します。企業にとっては、健康経営の推進により生産性向上や離職率低下などのメリットがあります。本記事では、ウェルビーイングが注目される背景や企業の具体的な取り組みについて詳しく解説します。

【デジタル寺田の3分用語解説】 「 AIエージェント 」は、人間の管理職の代わりになるか?🤖

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

2025.03.11

【デジタル寺田の3分用語解説】 「 AIエージェント 」は、人間の管理職の代わりになるか?🤖

「 AIエージェント 」は営業マネージャーの業務をどこまで代行できるのか?「データ分析」「フィードバック」「自動日程調整」の可能性を探り、未来の管理職のあり方を考察します。AIが進化する中で、人間の役割はどう変わるのか詳しく解説します。