Flowchart · Deploy

deploy.sh: triển khai có rollback

Luồng deploy.sh có rollback tự động Sau migration, deploy.sh lưu tag đang chạy, kéo image mới, đổi tag và khởi động lại; nếu /health/ready không khoẻ sau 30 lần thử thì đổi về tag cũ và thoát với mã 1. CÓ KHÔNG Chạy migration --migrate · bước riêng Lưu tag hiện tại CURRENT=… từ .env Kéo image trước docker compose pull Đổi TAG, khởi động compose up -d Healthy? /health/ready 30 lần · cách 2s Triển khai xong image prune · exit 0 Rollback TAG=$CURRENT · up -d Dừng với exit 1 bản cũ đang chạy lại Migration chạy trước, như một bước riêng: chỉ đúng vì schema mới tương thích ngược với code cũ. CHÚ GIẢI Bước riêng, chạy trước Bước trong deploy.sh Chờ healthy Thành công © tiennhm