Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

CICD

Avatar for Cybozu Cybozu PRO
August 19, 2020

 CICD

Avatar for Cybozu

Cybozu PRO

August 19, 2020
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

  1. CI の利点 ▌⟌速なフィヌドバック l 問題の早期発⟒ l ⟌速な孊習 ▌頻繁に倉曎がマヌゞされるようになれば差分が⌀きくならない l 問題発⟒時の調査が簡単になる

    l リスク䞍確実性が枛る ▌Success/Fail の可芖化によるコミュニケヌション促進 ▌毎回の倉曎が⟃動テストで保蚌される安⌌感 24
  2. ⟃動テスト ▌ 単䜓テスト l 〈さい単䜍のコヌドが圹割通り動䜜するかチェックする ▌ 結合テスト l 耇数のコヌドを組み合わせた機胜が正しく動䜜するかチェックする ▌

    受け⌊れテストE2E テスト l ビゞネス芁求を満たしおるかチェックする ▌ 䞊蚘以倖にもいろいろ l テストの皮類ごずの呌び✅や✬的はチヌムによっお異なるので、 認識を揃えるこずが⌀事 31
  3. デプロむ・リリヌス ▌ メむンラむンにマヌゞされたずきだけ実⟏されるこずが倚い l タスクブランチでも動䜜確認✀環境にデプロむずかはある ▌ ステヌゞング環境 l 本番環境によく䌌せたステヌゞング環境でたずデプロむする ▌

    本番環境ぞのリリヌス戊略 l 䞇⌀の問題発✣に備えるこずが重芁 l ⌀郚の環境から広げおいく、ロヌルバック、無停✌ l カナリアリリヌス、ブルヌグリヌンデプロむ、フィヌチャヌフラグ など 34
  4. 38

  5. 40

  6. GitHub Actions ▌GitHub が提䟛する CI/CD サヌビス l 珟圚は Enterprise Server

    は未察応 ▌パブリックリポゞトリでは完党無料 ▌CI/CD に限らず GitHub の様々なむベントにフックできる 41
  7. その他の CI/CD ツヌル ▌AWS Code シリヌズ l CodeBuild, CodeDeploy, CodePipeline,

    ... l AWS ず暩限呚りを統合しやすい ▌Argo CD l Kubernetes ✀ CD ツヌル l GitOps できる l https://www.weave.works/technologies/gitops/ 42
  8. 䞍安定なビルド ▌䞍具合ではないのにビルドが倱敗する l CI/CD の信頌性が䞋がる ▌原因はいろいろ l 本番コヌドではないので曞かれる⌿抜きスクリプト l E2E

    テストの埮劙なタむミングのズレ l 䞍安定な環境 l 構築⌿順が埮劙に異なる、前のビルドのゎミが残っおる、など 61
  9. Continuous Delivery vs Continuous Deployment ▌コヌド倉曎ごずにリリヌスたでの怜蚌を⟏うのはどちらも同じ ▌Continuous Delivery l 毎回本番環境にリリヌスするずは限らない

    ▌Continuous Deployment l 毎回本番環境ぞのリリヌスたで⟃動で⟏う ▌どちらを遞ぶかは時ず堎合に合わせお 66