CodePipelineで開発プロセス(ソース管理、ビルド、テスト、開発環境・ステージング・本番環境へのデプロイ)を自動化して、頻繁に繰り返し行うことで、新機能の追加や既存機能の改修を迅速に行うための仕組みです。
① 開発者はローカル環境から、② ソースコードを管理するCodeCommitに対して修正したソースコードをpushします。 この時、mergeしたリモートブランチをCodePipelineが常時監視していて、③ developブランチへのmergeなら、④ 開発環境デプロイ用のパイプラインが発火して、⑤ 開発環境のEC2に修正ソースが反映されます。 同様に、⑥ releaseブランチへのmergeなら、⑦ ステージング環境デプロイ用のパイプラインが発火、⑨ masterブランチへのmergeなら、⑩ 本番環境デプロイ用のパイプラインがそれぞれ発火して、対象のEC2に最新ソースが自動で反映されます。 特に、⑪ 本番環境へのデプロイでは本番への影響を考慮して、デプロイ失敗時にすぐに元に戻せるBlue/Green デプロイなど、いくつかのデプロイ方式が選択できます。