Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CircleCI 2.0 でビルド時間を大幅に短縮する / Significantly ...

Ryo Shibayama
September 19, 2017

CircleCI 2.0 でビルド時間を大幅に短縮する / Significantly reduce build time with CircleCI 2.0

Ryo Shibayama

September 19, 2017
Tweet

More Decks by Ryo Shibayama

Other Decks in Technology

Transcript

  1. CircleCI Continuos Integration を行うための SaaS TravisCI と並ぶ 2 大巨頭 Native

    Docker をサポー トする 2.0 のリリー ス 2017 年 4 月に beta 公開 2017 年 7 月に正式公開
  2. 1.0 と 2.0 の違い 1.0 は予め用意された Ubuntu 12.04 or 14.04

    がビルド環境 依存関係を解決するために自前でライブラリのダウンロー ドや インストー ルをしないといけない 1.0 でも Docker は使えるが、( 独自カスタマイズされた) 古いバー ジ ョンのもの固定だった 2.0 では、 仮想マシン上で純粋な Docker を動かせるようになった 2.0 で、Workflow という概念の登場 ビルド内での実行順序の制御と依存関係の解決が可能になった 2.0 では、 キャッシュキー の概念が追加された キャッシュヒットレー トをコントロー ルできる
  3. 注意点 config の互換性がないので、 一から書き直さないといけない c i r c l e

    . y m l ‑> . c i r c l e c i / c o n f i g . y m l 同居可能だが、2.0 の設定ファイルが優先される すべての処理を書かないといけない 1.0 ではデフォルトのビルド処理が設定されており、 コンフィ グで o v e r r i d e や p r e などで実行制御していた 2.0 ではコンフィグがすべて( ある意味分かりやすいと思いま す) 日本語の資料はまだ少ない 実際に動いている config が一番の教材 ロー カルビルド可能な c i r c l e c i コマンドは闇
  4. 実際に動いている config の探し方 GitHub の Advanced search が使える Path 指定に

    . c i r c l e c i を指定したうえで、 w o r k f l o w s など使用した い機能のワー ドでヒットさせる
  5. c i r c l e c i コマンドは闇 YAML

    の lint 機能がついているが、 パスしてもいざ push してみる とパー スエラー、 など日常茶飯事 だんだん信じられなくなってくる ビルドが異常に遅いことがある 原因はわかりませんが、 そういうこともある push してみると遅くない だんだん信じられなくなってくる
  6. danger/danger‑js https://github.com/danger/danger‑js 500 Stars Pull Request に対して自動チェックしてくれる JavaScript 製ツー ル

    自動で warning message を書いてくれたり 例) https://github.com/danger/danger/pull/880 Pull Request (Merged ) Migrate to CircleCI 2.0 2 分 8 秒 ‑> 23 秒 (82% 短縮)
  7. yarnpkg/yarn https://github.com/yarnpkg/yarn 26972 Stars JavaScript のパッケー ジマネー ジャ Pull Request

    (WIP ) Migrate to CircleCI 2.0 with Workflows 14 分 40 秒 ‑> 4 分 39 秒 (70% 短縮)
  8. 移行の知見を公開している企業 日本語の資料が少ない中で、 非常に貴重な事例公開に感謝します クラウドワー クス CircleCI 2.0 に移行して新機能を活用したらCI の実行時間が半 分になった話

    SmartHR CircleCI 2.0 が正式リリー スされたので早速移行しました CircleCI 2.0 移行に潜む闇 TokyoOtakuMode CircleCI 2.0 を使うようにするだけで、 こんなに速くなるとは 夢にも思わなかった! Wonder Planet CircleCI 2.0 の正式版がリリー スされたので試してみた