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 の実行結果をコメントしてくれます。

deploy も同じように pull_request イベントで動かしてもいいですし, push でもokです。その場合はコメントはされません。
まとめ
- 同じようなアクションは既に存在します。勉強のために車輪の再発明してみたシリーズになります。
- Terraformのアクションがとても参考になりました。
- (そういえばTypeScriptのことを考えずPythonでの動作確認しかしてなかったのでTypeScriptでは動かないかも)