ビルドした成果物をいつでも自動でリリースできる状態に保つ手法。
CD(継続的デリバリ)とは、ビルドした成果物を、いつでも自動でリリースできる状態に保つ手法です。デリバリ=届けること、つまり「ソフトを利用者にいつでも届けられるよう準備し続ける」という意味です。
身近な例で考えると、いつでも出荷できるよう箱詰めまで終えて待機している宅配荷物に似ています。中身の検品も梱包も済んでいて、あとは「発送ボタンを押すだけ」。出すタイミングは担当者が選びますが、準備は常に整っている状態です。
上のツールで▶ボタンを押すと、成果物の作成からステージング配備まで自動で進み、最後の本番リリースだけ人が承認する流れを確認できます。
よく似た言葉に継続的デプロイ(Continuous Deployment)があります。略すとどちらも「CD」になりますが、本番リリースを人が承認するか、完全に自動で行うかが違います。
| 項目 | 継続的デリバリ | 継続的デプロイ |
|---|---|---|
| 本番リリース | 人がボタンで承認 | 完全に自動 |
| 状態 | いつでも出せる | 通れば自動で出る |
| 出すタイミング | 人が選べる | テスト合格しだい |
エレベーターにたとえると分かりやすいです。継続的デリバリは「ドアが開いて待っているが、乗るかどうかは人が決める」状態。継続的デプロイは「準備ができたら自動で発車する」イメージです。どちらが良いかは、ビジネスや品質保証のやり方によって選びます。上のツールの最後の段階は「手動承認」なので、これは継続的デリバリの動きです。
CDはCI(継続的インテグレーション)の続きとして動きます。CIは「変更のたびに自動でビルド・テストして検証する」段階、CDは「その検証済みの成果物を、いつでも出せる状態まで運ぶ」段階です。
2つは1本の流れとしてつながっており、まとめて「CI/CDパイプライン」と呼ばれます。順番に並べると次のようになります。
・CI:コミット → ビルド → テスト(壊れていないか検証する)
・CD:成果物作成 → ステージング配備 → いつでもリリース可能に保つ
料理に例えると、CIが「材料の下ごしらえと味見」、CDが「お皿に盛りつけて、いつでも出せるよう保温しておく」段階にあたります。CIで品質を保証してからCDに渡すからこそ、安心して素早くリリースできます。上のツールの最初の段階がCIの完了から始まっている点に注目すると、両者のつながりが分かります。