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

CircleCIと半年間格闘してみた

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 CircleCIと半年間格闘してみた

potatotips 18

Avatar for Keisuke Kobayashi

Keisuke Kobayashi

June 16, 2015
Tweet

More Decks by Keisuke Kobayashi

Other Decks in Programming

Transcript

  1. Keisuke Kobayashi (kobakei) • Coubic, Inc • Android & Rails

    engineer • Twitter @ksk_kbys • GitHub, Qiita @kobakei
  2. Why CI? / Why CircleCI? • ビルド&ベータ版配布の自動化 ◦ 手動でビルド&配布する時間が無駄 ◦

    チームの誰もが最新のベータに触れる → バグの早期発見、フィードバックしやすい環境 • 導入コストが低い ◦ コンテナ1個なら無料 ◦ Androidサポート(苦労しないとは言ってない)
  3. OutOfMemory再発 • (多分)巨大なライブラリの追加で発生 ◦ Dagger 2, EventBus, Stetho, etc •

    assemble過程のdexタスクが並列で複数走るこ とによって発生 ◦ dexはJAVA_OPTSでメモリを制御できない
  4. まとめ • CircleCI for Android は OOM との戦い • 肝はJAVA_OPTS

    と javaMaxHeapSize • 今では安定稼働しています