CI/CDとは?
継続的インテグレーション(CI)と継続的デリバリー/デプロイ(CD)の組み合わせ。コード変更を自動ビルド・テスト・デプロイする仕組み
詳細解説
CI/CD(Continuous Integration / Continuous Delivery・Deployment)は、ソフトウェア開発においてコードの変更を頻繁に・安全に本番環境へ届けるための自動化パイプラインです。CI(継続的インテグレーション):開発者がコードをリポジトリにプッシュするたびに、自動でビルド(コードのコンパイル・パッケージング)・自動テスト(単体テスト・回帰テスト)・静的解析(コード品質チェック)を実行し、問題を早期発見します。CD(継続的デリバリー):CIで品質確認済みのコードを本番同等のステージング環境へ自動デプロイし、いつでも本番リリース可能な状態を保ちます。手動の承認ゲートで最終的に本番へリリース。CD(継続的デプロイ):承認ゲートなしで本番環境へも自動でデプロイします。代表的なCI/CDツールはJenkins(オープンソース・オンプレ向け)・GitHub Actions(GitHubと統合・YAML定義)・GitLab CI/CD(GitLab内蔵)・CircleCI・AWS CodePipeline・ArgoCD(Kubernetes向けGitOps)です。CI/CDのメリットはバグの早期発見・デプロイ頻度向上(数ヶ月に1回→毎日複数回)・手動作業ミスの排除・開発者のフィードバックループの短縮です。GitOpsはGitリポジトリをシステムの「信頼できる唯一の情報源」として、Git管理するだけでデプロイが自動実行される運用モデルです。ITパスポートでは「CI/CDの定義と目的」「自動テストとの関係」「DevOpsとの関係」が出題されます。
ITパスポートでの出題ポイント
- 1CI:コードプッシュのたびに自動ビルド・テストで問題を早期発見
- 2CD(デリバリー):ステージング自動デプロイ+手動本番承認
- 3CD(デプロイ):本番まで完全自動化
- 4GitHub Actions・Jenkins・GitLab CI/CDが主要ツール