💡
Github Actions で terraform graph の図を更新する
前提
- 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