💡

Github Actions で terraform graph の図を更新する

2023/07/17に公開

前提

  • terraform cloud で tfstate を管理している
  • main ブランチを利用して手動で Github Actions を実行する
  • graph.svg という名前のファイルが git 管理されている

設定

以下、Github Acrions の内容

name: Update terraform graph
on:
  workflow_dispatch:
    branches: main
permissions:
  contents: write

jobs:
  terraform:
    name: Create terraform graph
    runs-on: ubuntu-latest
    steps:
      - name: Check out code
        uses: actions/checkout@v3

      - name: Setup Terraform
        uses: hashicorp/setup-terraform@v2
        with:
          cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
          terraform_version: 1.5.3
          terraform_wrapper: false

      - name: Terraform Init
        run: terraform init

      - name: Install Graphviz
        run: sudo apt install -y graphviz

      - name: Generate temp graph
        run: terraform graph | dot -T svg > graph.svg

      - name: Commit and push
        run: |
          git config --global user.name 'github-actions[bot]'
          git config --global user.email 'action@github.com'
          git add graph.svg
          git commit -m "Update graph.svg"
          git push

ポイント

  • terraform_wrapper を false にする

Discussion