Slide 1

Slide 1 text

CircleCI 2.0:
 Faster and more stable CI Keisuke Kobayashi / kobakei potatotips #42

Slide 2

Slide 2 text

About Me • Keisuke Kobayashi • GitHub, Qiita: kobakei • Twitter: kobakei122 • Kyash, Inc. • ݸਓؒૹۚΞϓϦ

Slide 3

Slide 3 text

Android CI

Slide 4

Slide 4 text

CI is ۤߦ • ஗͍ • OOM • Jenkins͓͡͞Μ

Slide 5

Slide 5 text

બ୒ࢶ • Jenkins • Circle CI • Wercker • bitrise.io

Slide 6

Slide 6 text

બ୒ࢶ • Jenkins • Circle CI • Wercker • bitrise.io • Circle CI 2.0

Slide 7

Slide 7 text

CircleCI 2.0 • Dockerαϙʔτ • ര଎ • OOM΋௚ͬͨ

Slide 8

Slide 8 text

͜Ε͕

Slide 9

Slide 9 text

͜͏ͳͬͨ

Slide 10

Slide 10 text

͜͏ͳͬͨ Ϗϧυ࣌ؒ60%୹ॖʂ

Slide 11

Slide 11 text

Let’s try

Slide 12

Slide 12 text

Migration from 1.0 • circle.yml —> .circleci/config.yml • YAMLͷίϚϯυ΋ҧ͏ • ҙ֎ʹ΋ެࣜͷ2.0༻YAML͕ͪΌΜͱಈ͘

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

DockerΠϝʔδࢦఆ
 (CircleCIఏڙ)

Slide 15

Slide 15 text

ґଘؔ܎ͷΩϟογϡ

Slide 16

Slide 16 text

ςετ࣮ߦ

Slide 17

Slide 17 text

ͪΐͬͱ͚ͩखΛՃ͑Δ✍

Slide 18

Slide 18 text

Crashlytics΁σϓϩΠ - deploy: name: Deploy APK command: | if [ "${CIRCLE_BRANCH}" == "master" ]; then ./gradlew assembleDebug crashlyticsUploadDistributionDebug fi - store_artifacts: path: app/build/outputs destination: outputs

Slide 19

Slide 19 text

tag pushͰδϣϒ͕૸Βͳ͍ • ະରԠΒ͍͠ʢϑΥʔϥϜ৘ใʣ • ͱΓ͋͑ͣ຤ඌʹ͜ΕΛ଍ͯ͠ճආͰ͖Δ deployment: fake_deploy_for_cci2: tag: /.*/ commands: - echo "make tags run in 2.0"

Slide 20

Slide 20 text

Thanks!