読み方 : シーアイシーディーパイプライン

CI/CDパイプライン【CI/CD pipeline】

概要

CI/CDパイプラインとは、ソフトウェアの変更を、開発からテスト、配布、運用環境への反映まで一連の流れとして自動化・標準化する仕組み。人手による作業を減らし、品質確認を継続的に行いながら、更新を迅速かつ安定的に届けることができるようにする。
CI/CDパイプラインのイメージ画像

従来のソフトウェア開発では、コード変更時のビルドやテスト、デプロイ本番環境への展開)などの作業を手動で行うことが一般的だった。複数の開発者が同時に作業する環境では、コードの統合時に競合が発生したり、テストが後回しになって問題の発見が遅れたりするケースが生じやすかった。CI/CDパイプラインはこうした問題を緩和するために、一連の作業を専用のツールを用いて自動的に実施する仕組みである。

CI」(Continuous Integration)は開発者が作成したプログラムの変更を頻繁に統合し、そのたびに自動ビルドや自動テストを実行する考え方である。複数人で開発している場合でも、変更同士の衝突や不具合を早い段階で発見しやすくなる。「CD」(Continuous DeliveryまたはContinuous Deployment)は本番公開可能な状態まで自動的に準備すること(delivery)、または、そのまま本番環境への反映まで自動実行すること(deployment)を指す。

パイプラインとは、こうした工程を順番につないだ処理の流れであり、ソースコードの更新を起点に、依存関係の取得、コンパイルビルド静的解析単体テスト結合テスト成果物の作成、配布先への配置などを段階的に進める。各段階には成功や失敗の条件が設定され、途中で問題が見つかれば処理を止めて通知する。品質を一定水準に保ちつつ、手動作業による設定漏れや反映ミスを減らすことができる。

CI/CDパイプラインは「DevOps」や「アジャイル開発」などの手法と相性がよく、変更を小さな単位で繰り返し投入する開発体制を支える基盤として使われる。代表的な構成要素には、ソースコード管理システム(バージョン管理システム)、ビルドツール、自動テストツール、コンテナ技術デプロイ管理ツールなどがある。単に自動化するだけでは誤った変更を速く配布してしまう危険が生じるため、テスト内容や承認手順、監視体制を適切に設計する必要がある。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。