CI/CD とは
CI/CD は Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー) の略です。
- CI:コードの変更をこまめにリポジトリへ統合し、そのたびにビルドとテストを自動実行する取り組み。バグの早期発見と「統合地獄」の回避が狙いです。
- CD:テストを通過した成果物を、いつでもリリースできる状態に自動で整える(さらに進めて自動デプロイまで行う)取り組み。
これらを支えるのが CI/CD ツールです。用途や実行環境に応じて選択肢は多岐にわたります。
主なツール
セルフホスト型
| ツール | 特徴 |
|---|---|
| Jenkins | 老舗の定番。豊富なプラグインで何でも組める |
| Jenkins X | Kubernetes 向けにクラウドネイティブ化した Jenkins |
| Concourse CI | パイプラインを YAML で宣言的に定義する |
| Spinnaker | マルチクラウド対応の継続的デリバリー基盤 |
SaaS / クラウド型
| ツール | 特徴 |
|---|---|
| Travis CI | OSS でよく使われた SaaS 型 CI |
| CircleCI | 設定が手軽で高速なクラウド CI |
| GitHub Actions | GitHub に統合された CI/CD |
| GitLab CI/CD | GitLab に統合された CI/CD |
| AWS CodePipeline | AWS のマネージド CI/CD |
| Azure Pipelines | Azure DevOps のパイプライン |
| Cloud Build / Continuous Delivery | Google Cloud の CI/CD |
まとめ
どのツールを選ぶかは、ソースコードのホスティング先(GitHub / GitLab など)やデプロイ先のクラウドとの相性で決まることが多いです。まずは自分のリポジトリに統合されているもの(GitHub Actions や GitLab CI/CD)から始めると、導入の手間が少なくおすすめです。