Slide 1

Slide 1 text

Takanori Ishikawa ABEJA, inc CircleCI の闇

Slide 2

Slide 2 text

ABEJA? 2

Slide 3

Slide 3 text

3

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

CircleCI 便利ですよね? 5

Slide 6

Slide 6 text

733 projects 6

Slide 7

Slide 7 text

7 いろいろ⾃動化 • テスト • コード解析 • ビルドとデプロイ • ドキュメントの更新 • SDK の⾃動⽣成

Slide 8

Slide 8 text

180 - 230 h / month 8

Slide 9

Slide 9 text

1⽇あたり 9h - 12.5h 9

Slide 10

Slide 10 text

働きすぎ 10

Slide 11

Slide 11 text

このように 11

Slide 12

Slide 12 text

便利な CircleCI ですが 12

Slide 13

Slide 13 text

13 やりすぎると⼤変なことになる

Slide 14

Slide 14 text

14

Slide 15

Slide 15 text

AMI や Docker Image のビルドにまで⼿を出してしまった 15

Slide 16

Slide 16 text

16 さまざまなパラメーター • OS distribution • CPU Architecture • Instance Type • Framework • Python version •

Slide 17

Slide 17 text

17 ⼤量の環境変数

Slide 18

Slide 18 text

⼤作 YAML 18

Slide 19

Slide 19 text

⼤作 YAML 19

Slide 20

Slide 20 text

⼤作 YAML 20

Slide 21

Slide 21 text

⼤作 YAML 21

Slide 22

Slide 22 text

終わらないビルド 22

Slide 23

Slide 23 text

最⻑記録: 6 時間 23

Slide 24

Slide 24 text

その結果 24

Slide 25

Slide 25 text

25

Slide 26

Slide 26 text

26

Slide 27

Slide 27 text

⼤渋滞 27

Slide 28

Slide 28 text

ご利⽤は計画的に 28

Slide 29

Slide 29 text

⼩ネタ集 時間があまったときのために… 29

Slide 30

Slide 30 text

30 ⼩ネタ集 (1) • approve 気づかない問題 • キャッシュに冗⻑性をもたせるための YAML の設定が冗⻑ • マイクロサービスだと似てるけど微妙に違う YAML が量産される • 何でもできるけど⾃由すぎて、オレオレ実装になるのが嫌 • Orbs に期待 • circleci コマンドでキャッシュもワークフローも動かない • docker image の pull に失敗してもリトライしてくれない

Slide 31

Slide 31 text

31 ⼩ネタ集 (2) • Context が Admin 以外⾒れない • Context が効かないときがある(あった?) • 環境変数はブラウザで⾒れないけど、ReRun with SSH で環境変数⾒れる • API で出来ることがあまり多くない • コミットに “skip ci” が混じっていて動かない

Slide 32

Slide 32 text

32 We’re Hiring!

Slide 33

Slide 33 text

適度に⾃動化したい⼈を募集中 33

Slide 34

Slide 34 text

ありがとうございました 34