概要
継続的デリバリーとは、ソフトウェア開発手法の 1 つで、コード変更が発生すると、自動的に実稼働環境へのリリース準備が実行されるというものです。最新のアプリケーション開発の柱となる継続的デリバリーは、継続的インテグレーションを拡張したもので、すべてのコード変更が、ビルド段階の後にテスト環境または運用環境 (あるいはその両方) にデプロイされます。適切に実装すると、開発者は、標準化されたテストプロセスに合格し、デプロイ準備の整ったビルド成果物を常に手元に持つことになります。
継続的デリバリーを実施すると、開発者は単なる単体テストを超えたテストを自動的に実行できるため、お客様にデプロイする前にさまざまな角度からアプリケーションの更新を検証できます。たとえば、UI テスト、ロードテスト、統合テスト、API 信頼性テストなどを実行できます。これは、開発者が更新をより徹底的に検証し、先を見越して問題点を発見するために役立ちます。オンプレミスでは従来困難だった、複数の環境をテスト用に作成してレプリケーションを行う作業も、クラウドを利用すれば、簡単かつコスト効率のよい方法で自動的に実行できます。
継続的デリバリー継続的なデプロイ
継続的デリバリーでは、すべてのコード変更は、ビルドとテストを実行した後、非運用テスト環境またはステージング環境にプッシュされます。その後、運用環境にデプロイする前に、複数の並列したテスト段階を設けることができます。継続的デリバリーと継続的デプロイの違いは、運用環境への更新に手動での承認が必要か否かという点です。継続的デプロイでは、明示的な承認が行われることはなく、自動的に本番環境になります。
継続的デリバリーは、ソフトウェアのリリースプロセス全体を自動化します。リビジョンがコミットされるたびに、更新のビルド、テスト、そしてステージングを行う自動化されたフローが開始されます。実際の運用環境へのデプロイを最終的に決定するのは、開発者です。
継続的デリバリーのメリット
AWS での継続的デリバリー
継続的デリバリー、その利点、および AWS CodePipeline と AWS CodeBuild を使用した実装方法の詳細については、動画をご覧ください。