Bazel とは?

Bazel

Bazel

NRIのOpenStandiaが提供するBazel最新情報

Bazelの保守サポートサービスの内容はこちら Bazelの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Bazelバージョンアップ情報

すべてを見る

更新日:2021-12-24

Bazelの概要

Bazel(バゼル)は、Google が社内開発に使用していた独自のビルドツールをオープンソース化したプロダクトです。ビルドツールとは、ソフトウェアの構築、テストを自動化することにより開発効率を高めることが出来るツールです。代表的なビルドツールとしては make が挙げられます。ビルドのための手続きは Python の方言であるStarlark と呼ばれるスクリプト言語で記述します。

TOPに戻る

Bazelの特徴

  • ビルドとテストの高速化
    高度なローカルキャッシングと分散キャッシング、最適化された依存関係分析、および並列実行、インクリメンタルビルドにより、高速に必要な物だけビルドすることが出来ます。
  • 複数の言語、環境に対応
    BazelはWindows、macOS、Linux で動作し、Java、C++、Android、iOS、Goなどの様々な言語プラットフォームを対象としたテスト及びビルドが行えます。
  • スケーラブル
    継続的インテグレーションシステムや、複数のリポジトリまたは巨大なサイズのコードにも対応可能です。
  • ニーズに合わせて拡張可能
    コミュニティにより作成されたルールを追加することにより、対応する言語やプラットフォームを拡張することが出来ます。ルールとは Bazel 上での一連のアクションを定義したものです。

TOPに戻る

現在、推奨されているルール

  • Android
  • Boost
  • C / C++
  • Docker
  • Go
  • Haskell
  • Java
  • JavaScript / NodeJS
  • Kubernetes
  • Maven dependency management
  • Objective C
  • Package building and fetching rules
  • Protocol Buffers
  • Python
  • Scala
  • Shell
  • Webtesting (Webdriver)
 

TOPに戻る

Bazel の仕組み

Bazelは、ワークスペースと呼ばれるディレクトリ階層に配置されたソースコードよりソフトウェアのビルドを行います。ビルドはパッケージ単位で行われます。

WORKSPACEファイル:ワークスペースのルートディレクトリに置かれます。
BUILDファイル:パッケージはBUILDファイルで定義します。

Bazel の公式サイトには C++、Java、Android、iOSのチュートリアルが公開されています。
https://www.bazel.build/

TOPに戻る

Bazel の動作環境

Bazelは以下の環境にインストールできます。

公式パッケージ

  • Ubuntu Linux
  • macOS
  • Windows

コミュニティがサポートするパッケージ

  • Arch Linux
  • Fedora 25, 26, 27, 28, and CentOS 7
  • CentOS 6
  • FreeBSD
  • Gentoo
  • Linuxbrew
  • Nixpkgs
  • openSUSE
  • Parabola
  • Scoop

コミュニティがサポートするアーキテクチャ

  • ppc64le

TOPに戻る

Bazelと同様のビルドツール

Bazel 以外には以下のようなビルドツールがあります。

  • make
  • apache ant
  • apache maven
  • gradle
  • Pants
  • Buck
  • Please

TOPに戻る

Bazelのライセンス

Bazel は、Apache2.0ライセンスです。
Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。

TOPに戻る

Bazelのダウンロード

Bazelのダウンロードおよびインストール方法
https://docs.bazel.build/install.html

TOPに戻る

参考情報

Bazel 公式サイト
Bazel Github

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO