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
- Stel TF_PLUGIN_CACHE_DIR in en cache deze in het vergrendelingsbestand
- Voer het plan uit en pas het toe als afzonderlijke taken waarbij het planartefact wordt gedeeld
- 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=tfplanDe 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.
Gerelateerd
PulumiDe installatie van plug-ins en afhankelijkheid wordt vóór elke preview uitgevoerd.KubernetesHet opstarten van een soort- of k3s-cluster duurt minuten voordat de tests beginnen.RoerUpdates van diagramafhankelijkheid en linting lopen elke keer vast.Argo-cdImplementatietaken pollen voor de synchronisatiestatus en branden CI-minuten die wachten.