1. ホーム
  2. maven

GitLab CIランナーでmaven artifact cachingを有効にする方法とは?

2023-10-27 16:27:32

質問

私たちは、継続的インテグレーションを行うために、共有ランナーでGitLab CIを使用しています。各ビルドのために、ランナーは大量のmavenアーティファクトをダウンロードします。

同じアーティファクトを何度もダウンロードするのを防ぐことによって、ビルドプロセスをスピードアップできるように、それらのアーティファクトをキャッシュするためにGitLab CIを設定する方法はありますか。

どのように解決するのですか?

Gitlab CIでは、ジョブやビルドごとに、ビルドの間にキャッシュすべきデータを含む特定のパスを定義することができます( ここで を参照してください)。khmarbaiseの推奨と組み合わせて、これは複数のビルド間で依存関係をキャッシュするために使用することができます。

ビルド内のすべてのジョブの依存関係をキャッシュする例です。

cache:
  paths:
    - .m2/repository

variables:
  MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository"

maven_job:
  script:
    - mvn clean install