くりにっき

フルスタックキュアエンジニアです

werckerでmavenのpomをキャッシュする方法

werckermavenプロジェクトをビルドすると毎回全部のpomをダウンロードするため、ビルドの時間を短くするために $WERCKER_CACHE_DIR にpomをキャッシュしたかったという話。

mavenはコマンド経由でローカルリポジトリの場所を指定できないみたいなので ~/.m2シンボリックリンクにする方法しか思いつかなかった *1

build:
  steps:
    - script:
        name: setup mvn local repo
        code: |-
          mkdir -p $WERCKER_CACHE_DIR/.m2
          ln -sf $WERCKER_CACHE_DIR/.m2 ~/.m2
    - script:
        name: run test
        code: |-
          mvn test
    - script:
        name: show cache size
        code: |-
          ls -la $WERCKER_CACHE_DIR
          du -sh $WERCKER_CACHE_DIR

*1:~/.m2/settings.xml から/cache を指定するのだとうまくいかなかった