こちらの記事ではCircleCIとCodeDeployの、基本的な連携しかたを紹介しました。この記事では、ステージング環境と本番環境のデプロイを分離する手順を紹介したいと思います。 #考え方 作成しやすさとセキュリティのバランスを配慮した結果、最初の記事で作成した以下を使いまわします。 IAMロール CodeDeployのアプリケーション CircleCIがデプロイを行うためのIAMユーザ 一方、以下は新しく作成します。 リビジョン保存用のS3バケット CodeDeployのアプリケーション内のデプロイグループ(deploy_group) また、インスタンスとブランチの関係は以下。 本番環境 → 今まで使用したインスタンスを使いまわす ステージング用の環境 → 新しく作成 GitHubのproductionブランチ → 本番環境用ブランチ GitHubのmasterブランチ → ステージン