🔖
GitHub ActionsでTerraformの初期化~確認を実行するためのワークフローを作成
はじめに
GitHub Actionsを用いて、TerraformのCIを実行できるようにします。
内容としては、本番環境に変更を加える前の確認迄になります。
前提
- インフラ基盤はAWSを使用
- Terraformのコードに関しては用意済み
- GitHub Actions にてOIDCを使用したAWS認証ができるよう設定済み
イメージ
今回作成するワークフロー
リポジトリのルートディレクトリの .github/workflow
直下に以下ファイルを作成します。
.github/workflow/terraform-ci.yml
name: terraform-ci
on:
push:
branches:
- '!master'
- '*'
permissions:
id-token: write
contents: read
jobs:
terraform:
name: Terraform
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v3
- name: confiture AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: ${{ vars.AWS_DEFAULT_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
- name: Exec Terraform init
run: |
terraform init
- name: Exec Terraform fmt check
run: |
terraform fmt -recursive -check
- name: Exec Terraform validate
run: |
terraform validate
- name: Exec Terraform plan
run: |
terraform plan
以下については、GitHubの対象リポジトリの「Secrets and variables」に設定しております。
- AWS_DEFAULT_REGION
- AWS_ROLE_ARN
場所
Settings
→ Secrets and variables
→ Actions
→ Repository secrets
参考記事
Discussion