Naar inhoud springen

Terraform

GitHub Actions CI op Terraform

terraform init downloadt elke provider bij elke run.

Jaren 70 → 4s
terraform init

terraform init downloadt elke provider bij elke run.

Waarom het gebeurt

De cachemap van de plug-in wordt niet bewaard, dus providers worden per taak opnieuw gedownload.

Wat te veranderen

  1. Stel TF_PLUGIN_CACHE_DIR in en cache deze in het vergrendelingsbestand
  2. Voer het plan uit en pas het toe als afzonderlijke taken waarbij het planartefact wordt gedeeld
  3. Gebruik -parallelisme afgestemd op de tarieflimieten van uw provider

Terraform op runnerhut

yaml
jobs:
plan:
runs-on: runnerhut-4vcpu-ubuntu-2404
env:
TF_PLUGIN_CACHE_DIR: ~/.terraform.d/plugin-cache
steps:
- uses: actions/checkout@v4
- run: terraform init -input=false
- run: terraform plan -out=tfplan
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-4vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.