×
開発技術と開発管理

CI/CDは、自動化技術を用いてソフトウェアのリリースサイクルを高速化・高信頼化するためのアプローチです。CI(継続的インテグレーション)の役割は、開発者が書いたソースコードをバージョン管理システムに反映した直後に、自動的にビルドとテストを実行することです。これにより、複数人の開発によるコードの競合(インテグレーション地獄)を未然に防ぎ、潜在的なバグを早期発見します。一方、CD(継続的デリバリー/デプロイメント)は、CIを通過したコードを本番や検証環境に自動で適用するプロセスです。継続的デリバリー(Continuous Delivery)は「本番環境にいつでもリリースできる状態まで自動でパッケージングするが、本番反映は手動承認で行う」のに対し、継続的デプロイメント(Continuous Deployment)は「テスト通過後、人間の承認を挟まず自動で本番環境に反映する」という違いがあります。これらを構築することで、手作業による設定ミスやデプロイ遅延を防ぐことができます。

試験でのポイント

試験では、CIとCDのそれぞれの言葉の意味や、テスト・配備の自動化によって得られる効果が問われます。特に「ソースコードの変更を共有リポジトリに頻繁にマージし、その都度自動ビルドと自動テストを行うことで、不具合を素早く検知する活動」という定義がCI(継続的インテグレーション)であることを識別できるようにしてください。また、CI/CDツール(例えばJenkinsやGitHub Actionsなど)がどのような動作をするか、ビルドエラーやテスト失敗時にすぐに開発者へ通知が送られることで、コードの品質が一定に保たれる仕組みが出題ポイントとなります。

関連する用語

CI/CDはDevOpsを支える代表的なツールチェーン・プロセスであり、コードを管理するバージョン管理システムや、構成を一定に保つ構成管理ツール、テストを先んじて行うテスト駆動開発と緊密に連携します。