0Pricing
Docker & DevOps Fundamentals · レッスン

継続的デリバリーと継続的デプロイ

継続的デリバリー(CD)と継続的デプロイメントの違い、および迅速なリリースにおける利点を学びます。

「継続的デリバリーと継続的デプロイ」はCoddyKit上の無料Docker & DevOps Fundamentalsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDocker & DevOps Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。

インテグレーションの先へ:リリース可能な状態

前回のレッスンでは、コードの変更を頻繁にマージしてテストする継続的インテグレーション(CI)について学びました。しかし、コードの統合とテストが終わった後には、何が起こるのでしょうか。

そこで登場するのが、継続的デリバリーと継続的デプロイです。これらは、ソフトウェアを迅速かつ確実にユーザーへ届けるために不可欠です。

継続的デリバリーと継続的デプロイ — イラスト1

継続的デリバリー(CD)とは

継続的デリバリー(CD)とは、コードの変更を自動的にビルド、テストし、本番環境へのリリースに備えるソフトウェア開発手法です。

  • 重要な考え方は、ソフトウェアを常にデプロイ可能な状態にしておくことです。
  • ただし、本番環境への最終デプロイは手動のステップであり、人間の判断によって実行されます。

CDのワークフロー:リリース準備完了

製品を準備する効率的な工場を想像してください。ただし、製品が工場を出る前には、人が最後の「進め」の判断を下します。

  • コードのコミット: 開発者がコードをプッシュします。
  • CIパイプライン: コードがビルドされ、単体テストと統合が行われます。
  • 自動テスト: 追加のテスト(統合テスト、エンドツーエンドテスト)が自動的に実行されます。
  • アーティファクトの作成: デプロイ可能なパッケージ(例:Dockerイメージ)が作成されます。
  • ステージング環境へのデプロイ: 最終確認のため、パッケージがステージング環境に自動的にデプロイされます。
  • 手動リリース: チームメンバーが手動で承認し、本番環境へのデプロイを開始します。

継続的デリバリーのメリット

CDには、開発プロセスにおける大きなメリットがあります。

  • リスクの軽減: 変更が一つひとつ小さいため、問題を発見して修正しやすくなります。
  • 迅速なフィードバック: チームは変更についてより早くフィードバックを得られ、品質を向上できます。
  • 品質の向上: 厳格な自動テストにより、手動承認の前にバグを減らせます。
  • 市場投入までの時間短縮: ソフトウェアが常にリリース可能なため、リリースを迅速化できます。

継続的デプロイ(CDep)とは

継続的デプロイ(CDep)は、継続的デリバリーをさらに一歩進めたものです。これは、すべての自動テストに合格した変更を、本番環境へ自動的にリリースすることを意味します。

  • ユーザーへのデプロイ前に、手動承認のステップはありません。
  • そのため、自動テストと監視に対して極めて高い信頼性が求められます。

CDepのワークフロー:完全自動化

人の介入なしに製品が製造、テスト、出荷される、完全に自律した工場をイメージしてください。

  • コードのコミット: 開発者がコードをプッシュします。
  • CIパイプライン: コードがビルドされ、単体テストと統合が行われます。
  • 自動テスト: すべての統合テスト、エンドツーエンドテスト、パフォーマンステストが自動的に実行されます。
  • アーティファクトの作成: デプロイ可能なパッケージが作成されます。
  • ステージング環境へのデプロイ: パッケージがステージング環境に自動的にデプロイされます。
  • 本番環境への自動デプロイ: すべてのテストに合格すると、パッケージが本番環境へ自動的にデプロイされます。

継続的デプロイのメリット

CDepは、リリースとフィードバックループの速度を最大化します。

  • 超高速リリース: 新機能やバグ修正をほぼ即座にユーザーへ届けられます。
  • 即時のフィードバック: 実際の利用データやエラーレポートをより早く取得できます。
  • 真のアジリティ: 市場の変化に対して、他に類を見ない速さで反復と対応を行えます。
  • オーバーヘッドの削減: 手動でリリースを調整する時間と労力をなくせます。

CDとCDepの違い:重要なポイント

継続的デリバリーと継続的デプロイの主な違いは、誰(または何)が本番環境へのデプロイを決定するかにあります。

  • 継続的デリバリー: 自動化によってソフトウェアは常にリリース可能な状態になりますが、本番環境へのデプロイボタンをいつ押すかは人間が決定します。
  • 継続的デプロイ: すべてを自動化が処理します。ソフトウェアはすべてのテストに合格するとすぐに本番環境へ自動的にデプロイされます。最終リリースに人の介入は必要ありません。

進む道を選ぶ:CDとCDep

CDとCDepのどちらを選ぶかは、チームの成熟度、自動化への信頼度、リスク許容度によって決まります。

  • CDから始める: パイプラインへの信頼を築ける、より安全な出発点です。
  • CDepへ移行する: 自動テスト、監視、ロールバック戦略が極めて堅牢になった場合に限って移行してください。
  • 状況を考慮する: 規制の厳しい業界(例:金融、医療)では、コンプライアンス要件によりCDが好まれることが多くあります。

理解度をチェック

継続的デリバリーと継続的デプロイの主な違いを最もよく説明している文は、次のうちどれですか。

復習:CDとCDep

これで、継続的デリバリーと継続的デプロイの重要な違いについて学習しました。

  • 継続的デリバリー(CD): ソフトウェアは常にリリース可能ですが、本番環境への最終デプロイは人間が開始します。
  • 継続的デプロイ(CDep): ソフトウェアは、すべての自動テストに合格するとすぐに本番環境へ自動的にリリースされます。

継続的インテグレーションを基盤とするこれらのプラクティスは、DevOps文化において迅速で信頼性の高いソフトウェアリリースを実現するための基本です。

よくある質問

「継続的デリバリーと継続的デプロイ」レッスンは無料ですか?

はい。「継続的デリバリーと継続的デプロイ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Docker & DevOps Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。

「継続的デリバリーと継続的デプロイ」で何を学びますか?

継続的デリバリー(CD)と継続的デプロイメントの違い、および迅速なリリースにおける利点を学びます。 ブラウザで直接実行するハンズオンコードでDocker & DevOps Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Docker & DevOps Fundamentalsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDocker & DevOps Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「継続的デリバリーと継続的デプロイ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDocker & DevOps Fundamentalsレッスンでコードを書いて実行できますか?

はい。すべてのDocker & DevOps Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. DevOpsの考え方
  2. 継続的インテグレーションの解説
  3. 継続的デリバリーと継続的デプロイ
  4. Infrastructure as Codeの基礎
← Docker & DevOps Fundamentalsに戻る