Files
desa-darmasaba/.claude/commands/deploy-stg.md
nico a4c7a97593 feat(umkm): migrate KategoriProduk to KategoriProdukUmkm for UMKM isolation
- update prisma schema to use KategoriProdukUmkm for Umkm model
- add @@map to KategoriProdukUmkm for lowercase table naming
- update API endpoints and KPI dashboard to use new model
- bump version to 0.1.33
2026-04-28 00:47:22 +08:00

4.0 KiB

deploy-stg

Deploy ke staging environment secara penuh menggunakan MCP server deploy-stg.

Repo GitHub: bipprojectbali/desa-darmasaba
Branch stg: stg
STG URL: https://desa-darmasaba-stg.wibudev.com


Alur Eksekusi

Langkah 0 — Cek /api/version endpoint

Pastikan endpoint /api/version sudah ada di API:

grep -n '"/version"' src/app/api/\[\[...slugs\]\]/route.ts

Jika belum ada, tambahkan ke main API group yang membaca version dari package.json.


Langkah 1 — Version Bump

Gunakan MCP tool bump_version (server: deploy-stg).

Tool otomatis baca package.json, increment patch (+1), tulis kembali.
Catat new_version dari response — akan dipakai di Langkah 5 dan 6.


Langkah 2 — Cek & Buat Migration

Gunakan MCP tool check_migrations (server: deploy-stg).

  • Jika needs_migration: true → jalankan create_migration dengan name: bump-stg-<new_version>
  • Jika is_up_to_date: true → lanjut ke Langkah 3

Langkah 3 — Build Check

bun run build

Jika build gagal → stop, perbaiki error sebelum melanjutkan.


Langkah 4 — Commit & Push ke stg

Gunakan MCP tool commit_and_push_stg (server: deploy-stg).

Tool otomatis stage package.json + prisma/migrations/, commit dengan message yang menyertakan versi baru, lalu push ke branch stg menggunakan GH_TOKEN.


Langkah 5 — Trigger publish.yml

Gunakan MCP tool trigger_publish (server: deploy-stg):

  • stack_env: stg (default)
  • tag: nilai new_version dari Langkah 1 (sama persis dengan versi di package.json)

Tool mengembalikan run_id. Poll dengan watch_workflow_run setiap 30 detik hingga status == "completed":

  • conclusion == "success" → lanjut ke Langkah 6
  • conclusion != "success"stop, tampilkan error, jangan lanjut ke re-pull

Langkah 6 — Trigger re-pull.yml

Setelah publish berhasil, gunakan MCP tool trigger_repull (server: deploy-stg):

  • stack_name: otomatis dari env STACK_NAME (tidak perlu diisi manual)
  • stack_env: stg

Stack yang di-deploy: <STACK_NAME>-stg. Poll dengan watch_workflow_run setiap 30 detik hingga status == "completed".


Langkah 7 — Verifikasi Versi

Gunakan MCP tool check_stg_version (server: deploy-stg):

  • wait_seconds: 30 (tunggu container siap)

Tool otomatis fetch BASE_URL/api/version dan bandingkan dengan versi lokal.

  • match: trueDeploy berhasil!
  • match: false → cek container logs di Portainer atau jalankan gh run view <run_id> --repo bipprojectbali/desa-darmasaba --log

Ringkasan MCP Tools

Tool Server Tujuan
bump_version deploy-stg Increment patch version di package.json
check_migrations deploy-stg Cek status Prisma migrations
create_migration deploy-stg Buat migration baru jika diperlukan
commit_and_push_stg deploy-stg Commit + push ke branch stg
trigger_publish deploy-stg Trigger publish.yml (build Docker image)
watch_workflow_run deploy-stg Poll status workflow run
trigger_repull deploy-stg Trigger re-pull.yml (redeploy di Portainer)
check_stg_version deploy-stg Bandingkan versi lokal vs STG

Ringkasan Workflow Inputs

Workflow Input Value
publish.yml stack_env stg
publish.yml tag versi dari package.json (e.g. 0.1.26)
publish.yml stack_name dari env STACK_NAME (opsional)
re-pull.yml stack_name dari env STACK_NAME (otomatis)
re-pull.yml stack_env stg

Catatan

  • Jangan jalankan re-pull.yml jika publish.yml belum selesai/berhasil.
  • Isi GH_TOKEN di .env sebelum menjalankan deploy (bisa sama dengan GH_TOKEN).
  • BASE_URL di .env sudah diset ke https://desa-darmasaba-stg.wibudev.com.
  • STACK_NAME di .env diset ke nama stack (e.g. desa-darmasaba) — dipakai otomatis oleh trigger_publish dan trigger_repull.
  • Verifikasi versi via /api/version (bukan /api/utils/version).