Slide 1

Slide 1 text

無料プラン de リリースフローの自動化 CircleCI ユーザーコミュニティミートアップ #5 by Tsubasa Ogawa @ OpenWork on 2019/06/28

Slide 2

Slide 2 text

自己紹介 • 小川 翼 (@tsubasaogawa) • オープンワーク株式会社 SRE • 最近のお仕事: AWS 運用、不正アク セス対策、リリース作業の業務改善、 エンジニア情報発信環境の整備 etc. • 好きな言語: C

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

出典: テレビ東京 ( https://www.tv-tokyo.co.jp/ )

Slide 5

Slide 5 text

Elastic Beanstalk ここのデプロイを自動化したい

Slide 6

Slide 6 text

リリースフロー (一般的なパターン) リリースブランチにマージ ステージングデプロイ 確認 OK の承認 master ブランチにマージ 本番デプロイ

Slide 7

Slide 7 text

リリースフロー (一般的なパターン) リリースブランチにマージ ステージングデプロイ 確認 OK の承認 master ブランチにマージ 本番デプロイ Free Trial まずは

Slide 8

Slide 8 text

リリースブランチにマージ ステージングデプロイ 確認 OK の承認 master ブランチにマージ 本番デプロイ (手動でマージ) → 発火 $ eb deploy web-stg Manual Approval 機能 GitHub API を curl $ eb deploy web-prd

Slide 9

Slide 9 text

とてもシンプルに自動化できた

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

ずっと無料プランで十分じゃね?

Slide 12

Slide 12 text

なぜなら、並列実行不要だから • 処理時間の大半がデプロイ の待ち時間 (7~8 min/deploy) • CI はステージングサーバー で行う (CircleCI あるのに) CircleCI 公式サイトより

Slide 13

Slide 13 text

でも…

Slide 14

Slide 14 text

• 一度 CircleCI の味をしめると、 猿のように様々な PJ で使いたく なる • リリーススケジュールが割とタ イトにもかかわらず、リリース ジョブを Queue させちゃう やっぱり並列実行したい ジョブの実行 が終わると… YAML YAML

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

まとめ • CircleCI を主にデプロイ目的で使う場合、無料プランのままで も十分に使える可能性がある • とはいえ、複数プロジェクトでの利用は Queueing が発生する などの問題が発生する • 受容できない場合は意地を張らずに有料プランにする • Plus Plan の続報待ってます!

Slide 17

Slide 17 text

今後の予定: Slack + Lambda + CircleCI で Interactive にリリース進行 リリース改善チームで鋭意開発中

Slide 18

Slide 18 text

Thank you © 2007-2019 OpenWork inc.