main bikin apply beneran, dijaga di belakang approval yang wajib. Tutorial ini nyambungin itu semua buat dua provider-nya.
Ini nganggep lu udah punya folder
infra/ dari tutorial project structure, dan token yang udah disimpen sebagai GitHub Actions secret sesuai Manage secrets the right way.Terraform
.github/workflows/terraform.yml:
environment: production di job apply itu yang bikin lu bisa mewajibkan approval sebelum jalan: di repository, Settings → Environments → production, tambahin required reviewers, dan job-nya bakal nunggu sampe salah satu dari mereka approve, walaupun CI-nya udah lolos.
Pulumi
Pulumi punya action resmi yang udah tau caranya comment preview ke pull request, jadi gak perlu scripting manual. Butuh secret kedua,PULUMI_ACCESS_TOKEN, token Pulumi Cloud yang beda dari token Biznet GIO lu, soalnya action-nya login ke Pulumi Cloud buat baca dan nulis state stack-nya.
.github/workflows/pulumi.yml:
environment: production di job up ngejaganya di belakang required reviewers yang diatur di repository settings.
Wajibin check-nya sebelum merge
Nyalain branch protection buatmain, terus tandain job plan (Terraform) atau preview (Pulumi) sebagai required status check. Itu bikin gak mungkin ada pull request yang ke-merge tanpa diff-nya kelihat sama siapapun.
Langkah berikutnya
- Reusable modules and components - bungkus resource yang dideploy pipeline ini biar staging dan production tetep sinkron