Đây là bài 3 của chương 8: Triển khai và khôi phục, thuộc khóa demo Docker & CI/CD. Nội dung được dùng để trải nghiệm cấu trúc chương trình học; hãy thực hành trên dữ liệu và môi trường thử nghiệm riêng. Trong dự án xuyên suốt, bạn sẽ xây dựng môi trường ứng dụng có web, database, pipeline kiểm tra và quy trình khôi phục.
Mục tiêu cụ thể
Một lần triển khai cần có phiên bản xác định, kiểm tra sau deploy và đường quay lại. Khôi phục code và khôi phục dữ liệu là hai công việc khác nhau.
Đề bài thực hành
Thực hiện deploy bản A, nâng lên B và diễn tập quay lại A trên môi trường học tập độc lập.
Quy trình từng bước
- Xác định đầu vào, đầu ra và trạng thái trước khi bắt đầu. Với triển khai và khôi phục, hãy ghi lại kết quả bạn mong muốn trước khi chạy ví dụ.
- Tạo bản thử nhỏ nhất trong một thư mục hoặc môi trường riêng. Chỉ dùng dữ liệu giả; không sao chép token, tài khoản hoặc dữ liệu cá nhân vào bài tập.
- Thực hiện yêu cầu: Thực hiện deploy bản A, nâng lên B và diễn tập quay lại A trên môi trường học tập độc lập.
- Quan sát kết quả và so sánh từng điều kiện chấp nhận. Khi chưa đạt, thay đổi một yếu tố mỗi lần để biết thay đổi nào tạo ra tác động.
- Lưu kết quả cùng ghi chú giải thích quyết định. Người khác cần tái hiện được thao tác mà không phải đoán cấu hình hoặc dữ liệu ban đầu.
Điểm khởi đầu
# Kịch bản minh họa trên stack thử nghiệm:
docker compose pull
docker compose up -d
docker compose ps
# Kiểm tra ứng dụng và giữ artifact phiên bản trước.
Đối chiếu kết quả
- Có bản sao dữ liệu trước thay đổi
- Ghi lại kết quả kiểm tra sau deploy
- Đã thử quy trình rollback
Nếu kết quả khác dự kiến
Rollback image không tự đảo migration dữ liệu. Thay đổi schema cần tương thích với phiên bản cũ hoặc có kế hoạch riêng đã thử.
Chụp hoặc ghi lại đầu vào và đầu ra trước khi sửa. Xác nhận tệp đã lưu, đúng môi trường đang chạy và dữ liệu thử vẫn giữ nguyên. Sau khi sửa, chạy lại cả trường hợp ban đầu lẫn một trường hợp biên để tránh sửa được một nhánh nhưng làm hỏng nhánh khác.
Sản phẩm cần lưu
- Mã nguồn hoặc sơ đồ của bản thử.
- Dữ liệu đầu vào có thể dùng lại.
- Ba kết quả kiểm tra kèm giải thích.
- Một ghi chú về điều bạn sẽ làm khác nếu triển khai cho người dùng thật.