$30 off During Our Annual Pro Sale. View Details »

結局CI/CDをすると何が嬉しいのか?

Kim, Hirokuni
November 29, 2018
1k

 結局CI/CDをすると何が嬉しいのか?

Kim, Hirokuni

November 29, 2018
Tweet

More Decks by Kim, Hirokuni

Transcript

  1. 1
    で自己紹介
    - Kim
    - 元CircleCIで開発者
    - 現CircleCI Japan

    View Slide

  2. 2
    結局 すると何が嬉しいの?

    View Slide

  3. 3
    バグを書いてもえらい人に
    怒られなくなる

    View Slide

  4. 4
    どうゆうこと?

    View Slide

  5. 5
    よくある開発フロー
    開発

    レビュー

    テスト

    リリース

    View Slide

  6. 6
    テストできる範囲には制限がある

    View Slide

  7. 7

    1週間ステージング環境でテスト

    View Slide

  8. 8

    1週間ステージング環境でテスト

    リリース (完璧や!)

    View Slide

  9. 9

    1週間ステージング環境でテスト

    リリース (完璧や!)

    本番環境のDockerが古くてバグを踏む

    View Slide

  10. 10

    2 週間ステージング環境でテスト

    View Slide

  11. 11

    2 週間ステージング環境でテスト

    リリース (今度こそ完璧や!)

    View Slide

  12. 12

    2 週間ステージング環境でテスト

    リリース (今度こそ完璧や!)

    GitHubのAPI RateLimitにひっかかる

    View Slide

  13. 13

    メール送信前にしっかりチェックしたのに
    送った瞬間に間違いを見つける

    View Slide

  14. 14
    結局、リリースしないとわからない

    View Slide

  15. 15
    じゃー、どうするか?

    View Slide

  16. 16
    本番環境でテスト!

    View Slide

  17. 17
    の開発フロー
    開発

    レビュー

    テスト

    CI/CDで自動リリース
    注:半分釣り

    View Slide

  18. 18
    の開発フロー 続き
    やべぇ, ロールバック

    Revert PR

    CI/CDで自動リリース

    ロールバック完了

    View Slide

  19. 19
    つまり、 があるおかげで簡単に
    ロールバックできる

    View Slide

  20. 20
    この開発フローのメリット

    View Slide

  21. 21
    1. バグを作ってもすぐに戻せる
    心理的安全

    View Slide

  22. 22
    2. リリースサイクルの短縮

    View Slide

  23. 23
    3. いつでも戻せるコードを書く
    習慣がつく (後方互換を常に意識)

    View Slide

  24. 24
    リリース中心の文化が根付くと
    他にも色々できるようになる

    View Slide

  25. 25
    フィーチャーフラグ

    View Slide

  26. 26
    ローリングアップデート

    View Slide

  27. 27
    リリースサイクルさらに

    View Slide

  28. 28
    まとめ

    View Slide

  29. 29
    CI/CDがあればバグ、恐れるに足らず

    View Slide

  30. 30
    より早く、自由に、プロダクトを開発

    View Slide

  31. 31
    追記:

    View Slide

  32. 32
    テストしないことや見切り発車を推奨して
    いるのではない

    View Slide

  33. 33
    できる限りのテストをすることは
    開発者(プロ)の責任

    View Slide

  34. 34
    CircleCIでももちろんできるテストは開発
    環境でやっています

    View Slide

  35. 35
    CircleCIはテストしないんだって!
    っとかTweetしないでね

    View Slide

  36. 36
    宣伝 会社
    - Twitter @CircleCIJapan
    - Qiitaアドベントカレンダー
    https://qiita.com/advent-calendar/2018/circleci
    - ミニハッカソンやります
    https://circleci.connpass.com/event/109136/

    View Slide

  37. 37
    宣伝 個人
    日本初の電動キックボードの
    サービスを作ろうとしています

    View Slide

  38. 38

    View Slide