
Terraform プロジェクトで environments ディレクトリを使って環境別のリソースを管理しているときに(Terraform on Google Cloud に載っている構成)Dependabot で Terraform AWS Provider のアップデートを「1つのプルリクエストにまとめたい」という場面があった📝
environments ├── dev ├── prd └── stg
結論から言うと Dependabot の groups を使えば OK👌Apply-Before-Merge 戦略を採用しているときに便利な設定だったりする.ちなみに groups を使わない場合はディレクトリ別にプルリクエストができてしまう.
👾 dependabot.yml
以下のように dependabot.yml を実装する.ポイントは directories で複数ディレクトリを対象にして,groups で1つのプルリクエストにまとめているところ.
version: 2 updates: - package-ecosystem: terraform directories: - /environments/prd - /environments/stg - /environments/dev schedule: interval: daily open-pull-requests-limit: 1 target-branch: main groups: terraform-dependencies: patterns: - "*" ignore: - dependency-name: "*" update-types: ["version-update:semver-major"]
その他は前にまとめた設定と基本的に同じ😀
動作確認
すると Bump the terraform-dependencies group across 3 directories with 1 update というプルリクエストができる❗️
