Open1

CDK を GitHub Actions でデプロイする

ひやんが / hiyangerひやんが / hiyanger
  • テストしたリポジトリ

https://github.com/hiyanger/github-actions-cdk

  • とりあえず S3 作る(コードは微修正必要)

https://zenn.dev/zgw426/articles/0afa4156e92391

  • GitHub Actions

https://dev.classmethod.jp/articles/cdk-github-actions/

  • depoloy や destroy 時に S3 が消えない:removalPolicy いれる

https://awsbloglink.wordpress.com/2021/01/17/aws-cdk-destroy-s3/

XXX.ts
    const bucket = new s3.Bucket(this, 'CreateBucket', {
      bucketName: "cdk-test-20240812",
      versioned: true,
      removalPolicy: cdk.RemovalPolicy.DESTROY
  • ローカルからデプロイするときは bin の env にアカウント番号とリージョンいれる
  • 現状 GitHub Actions 使うなら bootstrap は必須っぽい?

https://qiita.com/munepi0713/items/fa74c35755f02a1007b0

https://dev.classmethod.jp/articles/deploying-a-react-app-with-aws-cdk-v2-github-actions/

ざっくり手順

  1. cdk init app --language typescript
  2. npm run build
  3. cdk bootstrap --profile hiyanger
  4. .github/workflows/cdk.yaml 作成
  5. featureブランチへpush
  6. masterブランチへプルリク(cdk diffが動作)
  7. プルリクをマージ(cdk deploy)

クレデンシャルは GitHub に Seacret したので、次は OIDC でやる
(埋め込まないで、ロールで実現できる)

料金 GitHub Actions

ランナー時間:
無料利用枠: 毎月 2,000分
超過分: $0.008/分

ストレージ使用量:
無料利用枠: 毎月 500MB
超過分: $0.25/GB