この章で学べること
1. なぜCI/CDパイプラインを学ぶのか
手動でビルド・テスト・デプロイを行っていると、ヒューマンエラーが発生したり、リリース作業が属人化したりします。CI/CDパイプラインを構築することで、コードの変更からテスト・デプロイまでを自動化でき、安全で高速なリリースが実現できます。DevOpsの中核となるスキルであり、現場のインフラエンジニアにとって必須の知識です。
この章では、GitHub Actionsを使ったCI/CDパイプラインの構築から、各種デプロイ戦略までを段階的に学びます。
2. 学べること・身につくこと
この章を修了すると、以下のスキルが身につきます。
| スキル | 内容 |
|---|---|
| DevOpsの考え方 | 開発と運用を統合するDevOps文化の基礎を理解できる |
| GitHub Actionsの基本 | ワークフロー・ジョブ・ステップ・トリガー・ランナー・アクションの基本を扱える |
| 応用設定 | 環境変数・Secrets・OIDC・条件分岐・保護ブランチなどを使いこなせる |
| 静的解析と自動テストの自動化 | Pull Requestのトリガーで静的解析と自動テストをGitHub Actionsで実行できる |
| ビルドとデプロイの自動化 | コンテナアプリケーションのビルドとデプロイを自動化し、ダウンタイムなしで本番環境へ反映できる |
| TerraformのCI/CD | インフラコードに対してPlan結果のレビューや自動Applyができる |
| デプロイ戦略 | ローリング・Blue/Green・カナリアなどのデプロイ戦略を理解し使い分けられる |
| Blue/Greenデプロイ | ECSネイティブのBlue/Green機能を使い、ライフサイクルフックでテスト自動化までできる |
3. こんな方におすすめ
- リリース作業の属人化や手作業をなくしたい方
- GitHub Actionsを実務レベルで使いこなしたい方
- DevOpsエンジニアとして自動化の仕組みを構築したい方
- 安全で高速なリリースを実現したい方
4. 講座一覧
| 講座名 | 種別 | 概要 | 目安時間 | 料金の目安 |
|---|---|---|---|---|
| DevOpsの概要 | 講座 | DevOpsの概念と文化・技術・組織のつながり | 30分 | – |
| CI/CDパイプラインの概要 | 講座 | CI/CDの概念とメリット | 20分 | – |
| GitHub Actionsの概要 | 講座 | GitHub Actionsの仕組みと基本概念 | 30分 | – |
| GitHub Actionsで簡単なワークフローを作ろう | ハンズオン | GitHub Actionsで最初のワークフローを作成 | 45分 | 無料 |
| GitHub Actionsの応用設定 | 講座 | 環境変数・シークレット・条件分岐・OIDC・保護ブランチなどの応用設定 | 30分 | – |
| 静的解析と自動テストを自動化しよう | ハンズオン | Pull Requestをトリガーにflake8とpytestを自動実行するCIを構築 | 60分 | 無料 |
| コンテナのビルドとデプロイを自動化しよう | ハンズオン | GitHub ActionsからECS/Fargateへのコンテナイメージの自動ビルド・自動デプロイを構築 | 90分 | 約200〜500円 |
| デプロイタイプ | 講座 | ローリング・ブルーグリーン・カナリアなどのデプロイ戦略 | 20分 | – |
| Blue/Greenデプロイメントを構築しよう | ハンズオン | ECSネイティブのBlue/Green機能で安全なデプロイと手動ロールバック、Lambdaライフサイクルフックによる自動テストまでを体験 | 120分 | 約200〜500円 |
5. この章を学んだら
この章で学んだ内容を実際の成果物に落とし込みたい場合は、章末尾の応用課題に挑戦してみてください。コンテナ化したアプリケーションに対する CI/CDパイプラインを GitHub Actions で設計・実装する課題です。
応用課題の課題内容は誰でも閲覧できます。メンターによる成果物レビューや、設計判断の壁打ちはポートフォリオプランでご提供しています。
6. 前提知識
- AWS講座(VPC・EC2・IAMなどAWSの主要サービスを理解していることが前提です)
- Python講座(FastAPIで作成したアプリケーションをCI/CDパイプラインに組み込むため)
- コンテナ講座(コンテナアプリケーションをECS/Fargateにデプロイするため)
7. 関連する章
- Infra as Code(Terraform)講座では、TerraformのインフラコードもCI/CDパイプラインで自動化する方法を学べます
- コンテナ講座では、Blue/Greenデプロイで扱うECS/Fargateの基礎を学べます