Bài 28: CI/CD cơ bản cho SysAdmin/DevOps
Bài này chi tiết hóa CI/CD theo hướng thực hành: có lab, lệnh mẫu, tình huống thực tế, checklist và bài tập.
- CI/CD giải quyết vấn đề gì trong DevOps thực tế.
- Các khái niệm/lệnh quan trọng cần nhớ.
- Cách dựng lab nhỏ để thực hành.
- Cách kiểm tra, rollback và ghi chú vận hành.
1. Bối cảnh thực tế
CI/CD thuộc nhóm kỹ năng giúp tự động hóa, chuẩn hóa và vận hành hệ thống ở quy mô lớn hơn. Khi server/app nhiều lên, thao tác tay sẽ dễ sai; vì vậy cần quy trình, công cụ và checklist rõ ràng.
2. Khái niệm cần nắm
- State: trạng thái hiện tại của hệ thống hoặc ứng dụng.
- Config as code: cấu hình được lưu thành file để review, tái sử dụng.
- Idempotent: chạy nhiều lần vẫn cho kết quả ổn định.
- Rollback: quay lại trạng thái an toàn khi triển khai lỗi.
3. Lab thực hành
# pipeline logic mẫu checkout code install dependencies run tests build artifact backup current release deploy new release restart/reload service health check rollback if failed # health check curl -fsS https://example.com/health
4. Tình huống thực tế
Sau khi developer merge code, pipeline tự test, build và deploy. SysAdmin cần đảm bảo secret an toàn, server có quyền đúng và health check fail thì rollback.
5. Quy trình áp dụng an toàn
- Viết cấu hình hoặc command trong môi trường lab.
- Kiểm tra syntax/plan/status trước khi apply.
- Chạy với phạm vi nhỏ trước.
- Quan sát log, metric và health check.
- Ghi lại thay đổi vào tài liệu vận hành.
- Chuẩn bị rollback hoặc version trước đó.
6. Lỗi thường gặp
- Copy cấu hình từ mạng mà không hiểu biến/môi trường.
- Không lưu file cấu hình vào Git.
- Không kiểm tra log sau khi apply.
- Không có môi trường test/staging.
7. Checklist
- Có file cấu hình rõ ràng.
- Có bước kiểm tra trước khi apply.
- Có log/health check sau khi apply.
- Có rollback/version cũ.
- Có tài liệu ai chạy, chạy khi nào, kết quả gì.
8. Bài tập
- Dựng một lab nhỏ theo lệnh mẫu.
- Chạy lệnh kiểm tra trạng thái trước/sau.
- Tạo một lỗi cấu hình nhỏ và sửa lại.
- Viết checklist production cho chủ đề này.
