GitHub ActionsでAWS CDK実行するアクション作った
2019-09-23

作りました。

https://github.com/youyo/aws-cdk-github-actions/diff
https://github.com/youyo/aws-cdk-github-actions/deploy

Usage

  • youyo/aws-cdk-github-actions/diff@v1

name: cdk diff

on: pull_request

jobs:
  diff:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: youyo/aws-cdk-github-actions/diff@v1
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          AWS_DEFAULT_REGION: us-east-1
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  • youyo/aws-cdk-github-actions/deploy@v1

name: cdk deploy

on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: youyo/aws-cdk-github-actions/deploy@v1
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          AWS_DEFAULT_REGION: us-east-1
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

diff を例にすると, pull_request イベントで実行すると次のように cdk diff の実行結果をコメントしてくれます。

cdk diff

deploy も同じように pull_request イベントで動かしてもいいですし, push でもokです。その場合はコメントはされません。

まとめ

  • 同じようなアクションは既に存在します。勉強のために車輪の再発明してみたシリーズになります。
  • Terraformのアクションがとても参考になりました。
  • (そういえばTypeScriptのことを考えずPythonでの動作確認しかしてなかったのでTypeScriptでは動かないかも)