概要
CI/CDとは、
ソフトウェアの開発からリリースまでの流れを自動化・効率化するための開発手法や仕組みのことです。
CIは「継続的インテグレーション」、CDは「継続的デリバリー」または「継続的デプロイメント」を指します。
バグの早期発見やリリースの高速化、品質向上を目的に、モダンな開発現場ではほぼ必須の仕組みです。
正式名称
- CI:Continuous Integration(コンティニュアス・インテグレーション)
- CD:
Continuous Delivery(コンティニュアス・デリバリー)
または Continuous Deployment(コンティニュアス・デプロイメント)
略称
特徴
- CI(継続的インテグレーション):
開発中のコードを頻繁に統合(マージ)する
自動でテスト・Lint・ビルドを実行
バグの早期発見と品質維持に役立つ
- CD(継続的デリバリー/デプロイメント):
本番環境やステージング環境へ自動でデプロイ(配信)
手動によるミスを防ぎ、リリース作業を効率化
常にリリース可能な状態を保つ
- 開発スピードを保ちながら、安全かつ信頼性の高いリリースができる
- GitHub Actions、GitLab CI、CircleCIなどの自動化ツールと連携して使う
具体例
シーン | 解説 |
---|
GitHubへコードをPush | GitHub Actionsが自動でCI/CDを実行 |
composer install を自動実行 | PHPの依存関係をCI環境で再現 |
PHPUnitで自動テスト | PHPの単体テストをCIで毎回実行 |
Laravelアプリを自動デプロイ | CI/CDツールがサーバーやVPSにデプロイ(例:Capistrano、Deployer) |
.envの切り替えやマイグレーション自動化 | 本番・開発環境の切り替えも含めた安全なデリバリー |
関連用語
用語 | 解説 |
---|
GitHub Actions | GitHubに統合されたCI/CD自動化ツール |
CircleCI | CI/CD専用のクラウドサービス |
Jenkins | 古くからある自動化ツール。自由度が高いが構築がやや複雑 |
デプロイ | サーバーなどにアプリケーションを配信・反映する作業 |
ユニットテスト | コードの各部が正しく動作しているかを確認するテスト(CIの一環で実行) |
パイプライン | CI/CDで行われる一連の処理の流れ。ビルド、テスト、デプロイなどが含まれる |
Linter | コーディングミスを自動で指摘するツール(CIと組み合わせて使う) |