CI/CDの解説(基本情報技術者シラバス用語)

目次

CI/CDとは

CI/CDとは、ソフトウェア開発における「継続的インテグレーション(Continuous Integration)」と「継続的デリバリー(Continuous Delivery)」、または「継続的デプロイメント(Continuous Deployment)」を組み合わせた言葉です。開発プロセスを自動化し、素早く安全に本番環境へ届ける仕組みを指します。

CI(継続的インテグレーション)は、開発者が書いたコードを共有のシステムに統合するたびに、自動的にビルドやテストを実行し、エラーを検知する仕組みです。CD(継続的デリバリー/デプロイ)は、テストが合格したプログラムを、自動的に本番環境や検証環境に反映する仕組みです。これにより、手作業によるミスが防げ、リリースまでの時間が劇的に短縮されます。

具体例

例えば、開発者がプログラムの修正をGitなどのバージョン管理システムに保存(プッシュ)すると、裏側でサーバーが自動的に起動し、プログラムにバグがないかをチェックするテストを実行します。テストが成功すると、そのまま自動的に本番のウェブサーバーに新しいプログラムが配置され、ユーザーが新しい機能を利用できるようになります。

もう少し詳しく

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

試験でのポイント

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

関連する用語

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

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ