問題
問34
CI/CD (継続的インテグレーション/継続的デリバリー) の説明として、最も適切なものはどれか。
- ソースコードの変更を頻繁にリポジトリに統合し、ビルドやテストを自動実行して、いつでもリリース可能な状態を維持する手法。
- システムの運用中に発生したインシデントを記録し、その解決プロセスを管理するためのツール。
- 顧客からの要求を管理し、それらを開発の優先順位付けに役立てるためのプロセス。
- プロジェクトの進捗状況をリアルタイムで可視化し、チームメンバー間の情報共有を促進するためのダッシュボード。
正解
正解は「ア」です。
解説
正解は「ソースコードの変更を頻繁にリポジトリに統合し、ビルドやテストを自動実行して、いつでもリリース可能な状態を維持する手法。」です。CI/CDは、ソフトウェア開発のプロセスを自動化し、迅速かつ確実にユーザーへ届けるための考え方と実践です。
- CI(継続的インテグレーション):開発者が書いたソースコードの変更を、1日に何度も自動で統合(インテグレーション)する仕組みです。コードが統合されるたびに、ビルド(プログラムの組み立て)と自動テストが実行され、問題があればすぐに開発者にフィードバックされます。これにより、複数の開発者が同時に作業しても、コードの矛盾やバグが大きくなる前に発見・修正できます。
- CD(継続的デリバリー):CIでテストが通ったソフトウェアを、いつでも本番環境にリリースできる状態に保つことです。リリース作業自体も自動化されており、ボタン一つで、あるいは自動でユーザーに新しいバージョンを届けられるようにします。
このCI/CDを導入することで、開発からリリースまでの時間が大幅に短縮され、品質も向上します
イ(システムの運用中に発生したインシデントを記録し…):
これはインシデント管理ツールの説明ですCI/CDは開発プロセスの自動化に関するものです。
ウ(顧客からの要求を管理し、それらを開発の優先順位付けに…):
これは要求管理やプロダクトバックログ管理の説明です
エ(プロジェクトの進捗状況をリアルタイムで可視化し…):
これはプロジェクト管理ツールやダッシュボード機能の説明です
解法のポイント
CI/CDは、現代のアジャイル開発やDevOpsにおいて中心的な役割を果たす重要なコンセプトです。この問題を解くためのポイントは、CI/CDが「開発からリリースまでの自動化」と「継続的な改善」を目指すものであると理解することです。
- CI (継続的インテグレーション):コードの統合とテストを自動化
- CD (継続的デリバリー):リリースの準備を自動化
この「自動化によって、いつでもリリースできる状態を保つ」という核心を押さえていれば、選択肢アが最も的確な説明であることがわかります他の選択肢は、運用管理や要求管理、進捗管理など、開発の自動化とは異なる領域の話をしているため、容易に区別できるはずです。
用語補足
CI (継続的インテグレーション):
開発者が加えたソースコードの変更を、頻繁にメインのコードベースに統合し、自動でビルドとテストを行うことです皆で1つの大きなレポートを書くとき、各自が書いた部分をこまめに結合して、矛盾がないか自動でチェックするようなイメージです。
CD (継続的デリバリー):
テスト済みのソフトウェアを、いつでも本番環境にリリースできる状態にしておくことですCDをさらに進めて、リリース作業自体も完全に自動化することを継続的デプロイメントと呼びます。
リポジトリ:
ソースコードやファイルの変更履歴などを保管しておく場所のことですGitなどのバージョン管理システムで利用され、チームでの共同開発に不可欠です。共有フォルダの、より高機能なものと考えると分かりやすいです。
ビルド:
人間が書いたソースコードを、コンピュータが実行できる形式のファイル(実行ファイルやライブラリなど)に変換する作業のことです料理のレシピ(ソースコード)から、実際に食べられる料理(実行ファイル)を作る工程に似ています。


