CI/CD
CI/CD (またはCICD )とはソフトウェアエンジニアリング において、継続的インテグレーション と継続的デリバリー または継続的デプロイ のいずれかを組み合わせた継続的デプロイ を指す。これらはまとめて継続的開発または継続的ソフトウェア開発と呼ばれることもある。
CI/CDは、アプリケーションの構築、テスト、および展開の自動化を実施することにより、開発および運用アクティビティとチームの間のギャップを埋める。現代のDevOps プラクティスには、継続的開発、継続的テスト、継続的インテグレーション、継続的デプロイ、および開発ライフサイクル全体にわたるソフトウェアアプリケーションの継続的モニタリングが含まれる。 CI/CDプラクティスまたはCI/CDパイプラインは、現代のDevOps オペレーションのバックボーンを形成する。
コンポーネント
継続的インテグレーション(Continuous Integration)
複数の小さな変更を頻繁にメインブランチにマージすること。
継続的デリバリー(Continuous Delivery)
短いサイクルで高速かつ高頻度にソフトウェアを生産し、信頼性の高いソフトウェアをいつでもリリースできるようにすること。デプロイを決定した際には、シンプルで再現性のあるデプロイプロセスを伴う。
継続的デプロイ(Continuous Deployment)
新しいソフトウェア機能の自動ロールアウトのこと。
これら3つのプロセスが順番に発生する場合、「CI/CDパイプライン」として説明されることがある。
目的
CI/CDは、アプリケーションのビルド、テスト、およびデプロイにおける自動化を強制することにより、開発および運用活動とチーム間のギャップを埋める。CI/CDサービスは、開発者が行った差分コードの変更をコンパイルし、リンクしてソフトウェア成果物にパッケージ化する。自動化テストはソフトウェアの機能を検証し、自動化デプロイサービスはそれらをエンドユーザーに提供する。その目的は、早期の欠陥発見を増やし、生産性を向上させ、より迅速なリリースサイクルを提供することである。このプロセスは、新しいバージョンをデプロイする前にソフトウェアアップデートの集合を1つの大きなバッチに統合していた従来の手法とは対照的である。
現代のDevOps の実践には、ソフトウェアアプリケーションの開発ライフサイクル全体を通じた以下のものが含まれる。
継続的開発
継続的テスト
継続的インテグレーション
継続的デリバリー
継続的デプロイ
継続的モニタリング
CI/CDの実践、またはCI/CDパイプライン は、現代のDevOps運用のバックボーンを形成している。
クラウドシステムのベストプラクティス
以下のプラクティスは、特にクラウド でホストされているシステムにおいて、CI/CDパイプラインの生産性を向上させることができる。
パイプラインの数 : 小規模なチームは、1つのリポジトリ と1つのパイプラインを持つことでより生産的になる。対照的に、大規模な組織では、チームごとに別々のリポジトリとパイプラインを持ったり、チーム内のサービスごとに別々のリポジトリとパイプラインを持ったりする場合がある。
権限 : パイプライン関連の権限のコンテキストでは、アーキテクチャ の動的な性質により、最小特権の原則 を遵守することが困難な場合がある。管理者は、影響範囲を最小限に抑えるための補完的なセキュリティ統制を実装しつつ、より緩い権限を選択することができる。
その他
コーポレートコミュニケーションの文脈では、 CI / CD はコーポレートアイデンティティ と企業デザインの全体的なプロセスを指すこともある。
脚注
↑ Irani, Zubin (2018年3月28日). “5 common pitfalls of CICD -- and how to avoid them” . InfoWorld (英語). 2017年12月21日閲覧 .
↑ Heller, Martin (2015年7月20日). “Continuous integration is not always the right answer. Here's why” . TechBeacon (英語). 2017年12月21日閲覧 .
↑ Atlassian (2017年4月14日). “Continuous integration vs. continuous delivery vs. continuous deployment ” (英語). Atlassian . 2019年4月4日閲覧。
↑ “What is Continuous Development and How Does It Work? ”. Synopsys . 2026年8月5日閲覧。
↑ “What is CI/CD? ”. Red Hat (2025年6月10日). 2026年8月5日閲覧。
↑ Rossel, Sander (2017) (英語). Continuous Integration, Delivery, and Deployment . Packt Publishing. ISBN 978-1-78728-661-0
↑ Gallaba, Keheliya (2019). “Improving the Robustness and Efficiency of Continuous Integration and Deployment” (英語). 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME) . IEEE. pp. 619-623. doi :10.1109/ICSME.2019.00099 . ISBN 978-1-7281-3094-1 . https://escholarship.mcgill.ca/concern/theses/wd376267t
↑ (英語) Serverless Architectures on AWS . Manning. (2016). ISBN 978-1617295423
↑ (英語) Pipeline as Code Continuous Delivery with Jenkins, Kubernetes, and Terraform . Manning. (2021). ISBN 9781638350378
↑ Humble, Jez; Farley, David (2010) (英語). Continuous Delivery Reliable Software Releases Through Build, Test, and Deployment Automation . Pearson Education. ISBN 9780321670229
↑ “Corporate Identity ” (英語). IONOS Startupguide . 2020年7月22日閲覧。