🚀 Cheatsheet: Ra mắt an toàn cho app vibe-code: staging, smoke test và rollback

By Better Wise

{colspan:2|badge:beginner|green}

Nguyên tắc xuyên suốt: trước khi bấm deploy, luôn trả lời được câu hỏi "nếu bước này hỏng thì rollback thế nào?". Không trả lời được thì chưa deploy.


Module 1: Môi trường và cấu hình an toàn

1.1 Tách môi trường dev, staging, production

Môi trường Mục đích Dữ liệu Ai được deploy Ai được xem log
dev Viết code, thử nhanh, được phép hỏng Dữ liệu giả (seed) Mọi dev Cả team
staging Giống production để test trước khi lên thật Dữ liệu giả hoặc ẩn danh Dev / CI Cả team
production Người dùng thật Dữ liệu thật, nhạy cảm Chỉ qua quy trình release Chỉ người có quyền

Quy tắc cứng:

  • Staging phải giống production về cấu hình (cùng phiên bản runtime, cùng loại DB engine), chỉ khác quy mô và secrets.
  • Không bao giờ trỏ staging vào DB production. Một lệnh DELETE ở staging có thể xoá dữ liệu thật.
  • Mỗi môi trường có biến môi trường riêng, không dùng chung file .env.
  • Tên miền riêng cho từng môi trường: app.example.com, staging.example.com, dev.example.com.

Cấu trúc file env gợi ý:

project/
  .env.example      # mẫu, commit vào Git, KHÔNG có giá trị thật
  .env.local        # dev, KHÔNG commit
  .env.staging      # chỉ trên CI/hosting, KHÔNG commit
  .env.production   # chỉ trên hosting, KHÔNG commit
  .gitignore        # phải có dòng .env*

Kiểm tra nhanh .gitignore:

git check-ignore -v .env.local

Nếu lệnh trên không in ra gì, file đang bị track. Sửa ngay.

1.2 Quản lý biến môi trường và secrets

Phân loại rõ:

Loại Ví dụ Được commit? Được log ra?
Cấu hình công khai NEXT_PUBLIC_API_URL, PORT Có (qua .env.example) Được
Cấu hình nội bộ LOG_LEVEL, FEATURE_X Không Được
Secret DATABASE_URL, STRIPE_SECRET_KEY, API key Không bao giờ Không bao giờ

Quy tắc secrets:

This cheatsheet is premium content. Sign in and purchase the course to view the full content. Sign in