Maven Central Repository のミラーで Java ビルドを高速化
Posted:
2015年11月9日月曜日
* この投稿は、米国時間 11 月 5 日、Google Software Engineer である Ludovic Champenois によって投稿されたもの(投稿はこちら)の抄訳です。
Maven Central Repository は Java の依存関係を管理するための主要なホストです。
広く普及したさまざまなビルド システムや依存関係管理ツール(Apache Maven、Gradle、Ivy、Grape、Bazel など)で使用されています。
Apache Maven の生みの親である Jason van Zyl 氏は、Maven Central Repository の完全なミラーを Google Cloud Storage でホスティングしビルドの高速化を実現しています。
Maven プロジェクトをビルドすると、Maven が pom.xml ファイルで依存関係をチェックします。プロジェクトが依存するライブラリがローカルにない場合、オンライン リポジトリから取得する必要があります。
構成ファイルである settings.xml に簡単な変更を加えることで、Google Cloud Platform で動作するビルド システム(Jenkins on Google Compute Engine、Google Cloud Shell など)が、プロジェクトが依存するライブラリを Cloud Storage から取り込めるようになりました。これはビルド速度の向上につながります。
Cloud Storage でホスティングされている Maven Central Repository のミラーを使用するには、構成ファイルの settings.xml に以下を追加します。
Maven Central Repository は Java の依存関係を管理するための主要なホストです。
広く普及したさまざまなビルド システムや依存関係管理ツール(Apache Maven、Gradle、Ivy、Grape、Bazel など)で使用されています。
Apache Maven の生みの親である Jason van Zyl 氏は、Maven Central Repository の完全なミラーを Google Cloud Storage でホスティングしビルドの高速化を実現しています。
Maven プロジェクトをビルドすると、Maven が pom.xml ファイルで依存関係をチェックします。プロジェクトが依存するライブラリがローカルにない場合、オンライン リポジトリから取得する必要があります。
構成ファイルである settings.xml に簡単な変更を加えることで、Google Cloud Platform で動作するビルド システム(Jenkins on Google Compute Engine、Google Cloud Shell など)が、プロジェクトが依存するライブラリを Cloud Storage から取り込めるようになりました。これはビルド速度の向上につながります。
Cloud Storage でホスティングされている Maven Central Repository のミラーを使用するには、構成ファイルの settings.xml に以下を追加します。
Maven Central Repository に API でアクセス
Google は、Java や Python、Node.js、Ruby から Cloud Storage にアクセスするための API ライブラリを提供しています。これらのライブラリは、Maven リポジトリ バケットへのアクセスに利用できます。
たとえば以下のコードは、“maven-central” ストレージ バケットのすべてのエントリを一覧表示します。
Maven Central と Cloud Platform 上のミラーについて詳しく知りたい方は、Jason van Zyl 氏の投稿をご覧ください。
**Java is a registered trademark of Oracle Corporation and/or its affiliates.
- Posted by Ludovic Champenois, Google Software Engineer