CI/CDパイプライン
빌드 자동화, 테스트 게이트, 배포 전략을 벤더 UI 가 아니라 메커니즘으로 배웁니다. 실습 파드에는 Jenkins 도 GitHub Actions 러너도 없고 컨테이너를 띄울 수도 없습니다. 대신 셸과 git 과 이미지 도구로 재현 가능한 빌드, 병합을 막는 게이트, 블루그린과 카나리 전환을 직접 만들어 봅니다. 이어서 바이트까지 같은 빌드, 캐시 열쇠 설계, 시험 분할과 결과 합치기, 실패 분류와 이분 탐색, 비밀이 남는 자리, 브랜치 보호와 병합 대기열, 다이제스트로 하는 승격을 다룹니다. 도구가 바뀌어도 남는 원리를 손에 남기는 것이 목표입니다.
중급 · 레슨 30 · 실습 10
커리큘럼
ビルドの自動化
- 再現可能なビルドが先だ reading
- シェルで作る3段階パイプライン lab
- クイズ: 再現可能なビルド quiz
テストゲート
- ゲートとは「止める基準」を決める仕事だ reading
- マージを止めるゲートを作る lab
- クイズ: テストゲート quiz
デプロイ戦略: ブルーグリーンとカナリア
- ブルーグリーンとカナリア、何を引き換えにするのか reading
- ブルーグリーン切替とカナリア分析 lab
- クイズ: デプロイ戦略 quiz
アーティファクトと昇格
- 開発で通ったものが本番で通らない本当の理由 reading
- タグはそのままなのに、本番では別のイメージが動いていた lab
- クイズ: アーティファクトと昇格 quiz
同じバイト列が出るビルド
- ハッシュで名前を付けても再現できるとは限らない reading
- 同じソースを二度ビルドしたらダイジェストが変わった lab
- クイズ: 同じバイト列が出るビルド quiz
キャッシュキーの設計
- キャッシュはキーの作り方がすべてだ reading
- ロックファイルを一行直したら、キャッシュが古い依存関係を呼び戻した lab
- クイズ: キャッシュキーの設計 quiz
テストの分割
- 分ければ速くなるが結果が変わることがある reading
- シャード数を増やしたら、落ちていたテストが通ってしまった lab
- クイズ: テストの分割 quiz
失敗の切り分けと原因の絞り込み
- 赤信号がすべて同じ赤信号ではない reading
- 赤いビルドが十件、誰もログを読んでいなかった lab
- クイズ: 失敗の切り分けと原因の絞り込み quiz
パイプラインでの秘密情報の扱い
- 秘密情報はログとレイヤーに残る reading
- 消したはずのトークンが、レイヤーとコミット履歴からそのまま出てきた lab
- クイズ: パイプラインでの秘密情報の扱い quiz
トランクベース開発とブランチ保護
- グリーンはマージ後もグリーンのままか reading
- ブランチでは緑だったのに、マージした途端に赤になった lab
- クイズ: トランクベース開発とブランチ保護 quiz