« DynoTypeが2ヶ月前に増えていたのご存知ですか? | メイン | 会社でハロウィンやってみた。 »

2015年10月29日 (木)

Wercker v2(Ewok)でSpringBootのビルド時間を短縮する

ブログには久しぶりの登場、浅野でございます。 戻り鰹の漁にいっており、ブログが更新できておりませんでした。

さて、今回のネタは久しぶりのWerckerネタ。ターゲットは以下の条件全てに当てはまる方です。

  • JVM系の言語を使っている
  • Werckerをv1のころから使っていて、v2へ移行している
  • Werckerは、v1ではキャッシュがあってビルドで余分な時間かかんなかったのになーと懐かしんでいる

これで大体わかるかと思うのですが、v2(Ewok)でキャッシュが使えるようになってました。 情報ソースは公式サイトのこちら。(Werckerをキーワードに検索するとV1の情報とごっちゃになってしまってわかりづらいので v2の情報だけに絞り込むには、ewok をキーワードに追加するといいらしいです)

キャッシュを有効にする

環境変数 $WERCKER_CACHE_DIR のパスがキャッシュとして使えるディレクトリです。 このディレクトリ配下に、gradleがダウンロードするファイルを格納すると、次回以降のビルド時にはダウンロードが省略されてビルド時間が短縮されます。 その設定はこんな感じ。

- script:
    name: setup gradle local cache
    code: |-
        mkdir -p $WERCKER_CACHE_DIR/.gradle
        ln -sf $WERCKER_CACHE_DIR/.gradle ~/.gradle

こうする事で、SpringBootベースのWebアプリケーションのビルド時間が約4.5分から約2.5分と2分前後の短縮になりました。 この $WERCKER_CACHE_DIR がキャッシュ用ディレクトリになるのは、v1でも同じでした。過去に蓄積したノウハウがそのまま使えるのは嬉しい限りですね。 (前の案件は、Wercker v1を使っていて、その時にwerckerでmavenのpomをキャッシュする方法を参考にSBTのビルド時間を短縮した、というのがあり、今回もそれをほぼそのまま踏襲できました。)

この手順は、今回題材にしたgradle以外のビルドツールでも使えるかと思います。 ただ公式サイトに書いてある通り、 npm-install, bundle-install, pip-install に関してはデフォルトでキャッシュが効くので対応不要です。

それでは、みなさんもよきCIライフを!

コメント

コメントを投稿

採用情報

株式会社フレクトでは、事業拡大のため、
Salesforce/Force.comのアプリケーション
開発
HerokuやAWSなどのクラウドプラッ
トフォーム上でのWebアプリケーション開発

エンジニア、マネージャーを募集中です。

未経験でも、これからクラウドをやってみた
い方、是非ご応募下さい。

フレクト採用ページへ

会社紹介

株式会社フレクトは、
認定コンサルタント
認定上級デベロッパー
認定デベロッパー
が在籍している、
セールスフォースパートナーです。
heroku partnersにも登録されています。
herokuパートナー
株式会社フレクトのSalesforce/Force.com
導入支援サービス
弊社の認定プロフェッショナルが支援致します。
・Visualforce/Apexによるアプリ開発
・Salesforceと連携するWebアプリ開発
も承っております。
セールスフォースご検討の際は、
お気軽にお問合せください。
Powered by Six Apart