システム開発
CI/CD
継続的インテグレーション/継続的デリバリー(Continuous Integration/Continuous Delivery)
コードの変更を自動でテスト・結合・配信する仕組み。自動化そのものが品質を上げるわけではない。
CI/CD は、コードの変更を継続的に検証(インテグレーション)し、継続的に本番環境へ届ける(デリバリー)ための一連の自動化の仕組みを指す。ベンダーからの提案書にはほぼ必ず登場する。
自動化されるのは「検証して届ける」までの手順であって、その検証で何を確認しているかは別の話である。
よくある誤解
自動化すれば品質が自然に上がると理解されがちだが、自動テストの中身が薄ければ、壊れたものを早く届ける仕組みにしかならない。「デプロイの速さ」と「品質の高さ」は別の軸であり、CI/CD の導入を提案されたときは、何をどう検証しているテストなのかまで確認する必要がある。
関連する用語
DevOps
開発チームと運用チームが協調して開発から運用までを一体で進める考え方。ツールの名前ではない。
アジャイル開発
短い周期で計画・実行・見直しを繰り返す開発手法。無計画に走ることではない。