CI/CD 【Continuous Integration / Continuous Delivery/Deployment】
概要
CI/CD(Continuous Integration / Continuous Delivery/Deployment)とは、ソフトウェア開発において、ビルドやテスト、リリース、デプロイなどの工程を専用のツールなどを用いて自動化し、開発の効率化や省力化、本番環境への迅速な反映を図る手法。CIツールなどの専門的なツールを用いてバージョン管理システムやテストツール、ビルドツールなどを連携させ、開発者がソースコードを修正すると自動化されたプロセスが起動し、テストやビルドなどの工程が順に実施され、実際の利用環境ですぐに修正版を使うことができるようになる。
一連の工程のうち、ビルドやテストを自動化することを「CI」(Continuous Integration:継続的インテグレーション)という。さらに、テスト後に利用環境に導入可能な状態にリリースする工程まで自動化することを「CD」(Continuous Delivery:継続的デリバリー)、リリース後に実運用環境に反映(デプロイ)させる工程まで完全に自動化することを「CD」(Continuous Deployment:継続的デプロイ)という。
「CD」の略称が同じで紛らわしいが、継続的デリバリーは開発主体と運用主体が異なり開発側の一存で自動的にデプロイできない場合(顧客からの開発委託や多数の利用者に販売・配布するパッケージ製品など)に、継続的デプロイは両者が同一でデプロイまで可能な場合(社内で開発したサーバソフトウェアを運用するネットサービスなど)に適用されることが多い。
単体のCIはコーディング→ビルド→テスト→コーディング→…という開発側で完結したプロセスを効率化する仕組みだが、CI/CDは運用側の更新プロセスも自動化されたり頻回化される。このように開発と運用を組織的に統合・連携し、垣根を取り払って各工程を連続的、循環的に行う仕組みを整えることを「DevOps」(デブオプス)という。
(2021.10.15更新)