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