Posted at

GitlabCIでsbtのキャッシュファイルをキャッシュする

More than 1 year has passed since last update.

sbtはオプションの指定等がないと$HOMEにキャッシュを生成する。

このキャッシュがないと毎回依存ライブラリを取得しにいくので、非常に時間がかかってしまう。。。

GitlabCIではそれぞれのJobで共通のキャッシを持つことができるが、

ビルドディレクトリ以外のディレクトリをキャッシュすることはできない。

そこで以下のように sbtとivyのホームディレクトリを指定してあげれば、2回目移行の実行時間を大幅に短縮できる


gilab-ci.yml

  script:

- sbt -Dsbt.global.base=./cache/.sbt/ -Dsbt.ivy.home=./cache/.ivy2/ -Divy.home=./cache/.ivy2 compile
cache:
key: "sbt_cache"
untracked: true
paths:
- "cache"