EFSでのデプロイ実装ができた。CodeBuildにkickする感じ。EFSでWordPressの構築でハマったことをブログしましたが、今回はStg、本番環境にデプロイできるように実装したのでブログします。CodeBuildを組み合わせれば可能です。ちなみに自分はCodeBuildを触ったことがなかったので非常にお勉強になりました。Managerの設定から行いましょう。Managerに登録しておきます。後ほど設定するCodeBuildで環境変数として鍵を配置するためですね。パラメータの作成タイプは安全な文字列で上記のように設定してもらい、値は秘密鍵をペーストして作成すれば完了です。CodeBuildの設定プロジェクトの設定/ソースプロジェクトは何でも良いです。チェック項目は特にしません。EFSは既にリポジトリがマウントされている前提ですので、ソースプロバイダはGitHubのリポジトリを連携できますが、リリース時に何個もリポジトリがあるとCodeBuildのプロジェクトを作成しなければならなく、管理が雑多になってしまうため、1つのプロジェクトでかつCircleCIでデプロイメントできるようにしました。今回は設定しなくてOKとなります。特権付与はEFSでマウント時にアクセス権限を付与しないとプロジェクトが作成されないので必ずチェックしましょう。追加設定ではVPCは各自設定してください。Managerで設定した秘密鍵をパラメータとして追加します。他にも環境変数としてgithubのメールアドレスとユーザー名も追加しましょう。ファイルシステムは識別子がEFS_1でIDは選択すると候補が出るので指定します。マウントポイントも忘れずに。pullするだけになります。この変数化したBRANCHやRELEASE_PATHは後ほどCircleCIで使いますので後で説明します。ちなみに今回EFSの権限ですが、仮のadachinユーザーとしましょう。2は初めにcodebuild-userでbuildをしますが、このホームディレクトリは以下のように/home配下ではありません。pullをすると対象ユーザで権限が揃うことができました。Manager用のポリシーを作成したら上記のロールに設定してください。CodeBuildの設定は完了です。本番環境も同様に作成してください。■デプロイの仕組みまず、CircleCIの実装よりも前に上記で設定したCodebuid/Buildspecの環境変数について説明します。名前の通りブランチ名を指定する環境変数です。リポジトリ名(ディレクトリ先)となります。cliを使って、Codebuidの環境変数を上書きして実行すれば可能です。cliでの実行方法としては以下になります。name=BRANCH,value=branch残りはCircleCIで実装すれば完了です。以下図を作ってみました。pullでデプロイ完了CircleCIでAPIリリース方法は以下ブログ書いているので参考に。masteraws-cliはOrbsでインストールしてクレデンシャルの設定をします。35行目でcodebuild用シェルのBRANCH_NAMEからCircleCIの環境変数であるブランチにsedで置換しています。pullがEFS上でできるようになり、リリースに繋がります。下記のようにブランチを指定して実行してください。Stgデプロイを開始しました。"下記のようにブランチを指定して実行してください。Stgデプロイを開始しました。eStgデプロイを開始しました。eStgデプロイを開始しました。Terraform化すればヨカタ...Codebuidはじめて触ってみましたが、かなり便利ですね。CircleCIと同じで何でもできそう。ROBOTICS/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化、エンジニア採用広報などを担当している。個人開発では「夫婦、パートナー向け家事管理サービス/famii」をCakePHPで開発中。副業では数社サーバー保守とベンチャー企業のインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。コメントデータの処理方法の詳細はこちらをご覧ください。