AWS

CodeCatalystのworkflowを用いてCDKのCICD環境を作ってみよう!

kim

おはようございます!
最近DWSに入社した木村です!
これから、様々な技術に関して投稿をしていきたいと思いますので、よろしくお願いします!

今回は、CodeCatalystのworkflowを使ったCDKのCICD環境の作り方について記載したいと思います!

CodeCommitに変わるCodeCatalystについて知りたい方、CDKのCICD環境の作り方を知りたい方、ぜひ、拝見していっていただければと思います!

今回の構成図と環境について

構成図
file

ローカル環境

  • CDKバージョン:2.1025.0
  • npmバージョン:10.9.2
  • nodeバージョン:v22.17.1
  • AWS CLIバージョン:aws-cli/2.15.52
  • TypeScriptバージョン:5.9.2

1. 前準備

1-1. CDKのセットアップ

こちらは下記記事が大変わかりやすかったので参考にしてください

"【ハンズオン】AWS CDKの基本操作を学ぶ in TypeScript"

※CDKコードは下記cdk-sample-codeをクリックし、インストールしてください。ローカルにインストール後はnpm installコマンドをルートディレクトリで実行し、使用してください。
cdk-sample-code

1-2. CodeCatalystのリポジトリなどの作成

こちらも下記記事を参考にしてください

"CodeCatalystとGitHubの違いを理解し、CodeCatalystでリポジトリの作成をしてみよう!"

※リポジトリ作成後に、項番1-1でインストールしたcdk-sample-codeをpushしてください。

2. CodeCatalystへIAMロールを付与する

手順2-1 下記URLよりAWSアカウント内のCodeCatalystのコンソール画面へ移動する
https://us-west-2.console.aws.amazon.com/codecatalyst/home?region=us-west-2#/

手順2-2左ペインの「Spaces」 → 項番1-2 で作った「Space name」の順にクリックする
file

手順2-3「Add IAM role」をクリックする
file

手順2-4 Role nameをつけて、「Create development role」をクリックする
file

手順2-5 IAM Roleが作成され、CodeCatalystに紐付けば完了
file

3. Environmentsの設定

手順3-1「Go to Amazon CodeCatalyst」からBuilder IDのCodeCatalystのコンソール画面へ移動する
file

手順3-2 項番1-2で作成したプロジェクト名をクリックする
file

手順3-3 左ペインより「CI/CD」 → 「Environments」 → 「Create environment」の順にクリックする
file

手順3-4 以下の通り設定し、「Create environment」をクリックする

  • Environment name:任意の名前
  • AWS account connection:紐付けるアカウントID
  • Default IAM role:項番2で作成したIAMロール

file

手順3-5 Environmentの作成が確認できれば完了
file

4.WorkflowでBootstrapのActionを作成する

手順4-1 左ペインより「Workflow」 → 「Create workflow」の順にクリックする
file

手順4-2 項番1-2で作ったリポジトリとブランチを選択し、「Create」をクリックする
file

手順4-3 「Actions」→AWS CDK bootstrapの「+」の順にクリックする
file

手順4-4 「Inputs」タブはデフォルトのままでOK
file

手順4-5 「Configuration」タブをクリックし、下記のように設定する

  • Actions name:任意の名前
  • Environment:項番3で作成したEnvironment
  • CDK CLI version:作成したCDKのバージョン
    ※Optionalと書いているが定義しないとエラーになる
  • AWS region:CDKを展開するリージョン
    ※複数リージョンに展開するリソースがある場合は、もう一つBootstrapのActionを作成する必要がある

file

手順4-6 「Commit」ボタンを押す
file

手順4-7 Workflow filw nameをつけて、「Commit」ボタンを押す
file

手順4-8 Workflowが作成されれば完了
file

補足
workflowの作成が完了すれば、リポジトリに./codecatalyst/workflows/<項番4-7でつけたファイル名>.yamlが作成されます。ローカルと差分が出ないよう、この時にgit pullも行ってください。
file

5. Workflowでcdk deployのActionを作成する

今回cdk-sample-codeにS3バケットをデプロイするS3BucketStackを用意しました。WorkflowでCICD環境を作成し、自動でデプロイできるようにしていきたいと思います。

手順5-1 左ペインより「Workflow」 → 「項番4で作成したworkflow」をクリックする
file

手順5-2 「Edit」ボタンをクリックする
file

手順5-3 「Actions」 → AWS CDK deployの「+」ボタンをクリックする
file

手順5-4 InputsタブのDepends onで項番4で作った BootstrapのActionを選択する
file

手順5-5 Configurationタブでは下記の内容を入力する

  • Environment:項番3で作成したenvironment
  • CDK CDK version:作成したCDKのバージョン
  • AWS region:デプロイするリージョン
  • Stack name:デプロイするStack名(コードをそのまま使うならS3BucketStackでOK)

file

手順5-6 「Commit」ボタンをクリックする
file

手順5-7 「Commit」ボタンをクリックする
file

手順5-8 Workflowの処理が完了し、全て緑色のチェックが入ればOK
file

手順5-9 AWSアカウントのCloudFormationスタックに移動し、目的のスタックがデプロイされていれば完了
file

まとめ

今回CodeCatalystのワークフローを使ったCDKのデプロイ方法について紹介させていただきました。
ワークフローを使えば、UI上で決まった値を入力していくだけで、デプロイのCICD環境が簡単に作成可能なのでおすすめです!
また、添付しているコードにVPCなどのネットワーク環境を用意するVpcNetworkStackの記載もございますので、復習を兼ねて追加のデプロイActionを作るチャレンジをしてみてください!

AUTHOR
kim
kim
記事URLをコピーしました