# Quy tắc Áp dụng CI/CD – Dành cho Nhóm Phát Triển | Quy tắc | Diễn giải / Hành động cụ thể | | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | Không làm việc trực tiếp trên nhánh chính (main/master/develop) | - Dev không push trực tiếp lên nhánh chính.
- Git server cấu hình "Protected Branches", yêu cầu Pull Request. | | Đặt tên nhánh theo quy tắc (feat/, fix/, chore/, ...) | - Tuân thủ naming convention khi tạo nhánh mới.
- Có thể dùng pre-receive hook hoặc CI lint để kiểm tra tên nhánh. | | Không hardcode biến, dùng `.env` cho local | - Không ghi trực tiếp token, URL... vào code.
- Sử dụng secret management và `.env`. | | Document rõ nếu template CI bị chỉnh sửa lớn | - Ghi chú lại những thay đổi cấu trúc template CI/CD để chia sẻ với team, không ảnh hưởng luồng hàng ngày. | | Mọi thay đổi qua Pull Request (có review) | - Code được review trước khi merge.
- PR trigger pipeline và cần pass + được review đầy đủ trước khi merge. | | Test phải pass 100% (unit, integration, coverage) | - Nếu bất kỳ test nào fail → pipeline dừng.
- Kiểm tra code coverage đủ ngưỡng tối thiểu. | | Ưu tiên giữ pipeline luôn "Xanh" (Green) | - Khi có lỗi phải fix sớm.
- Coi việc pipeline đỏ là blocker. | | Tối ưu hóa thời gian chạy pipeline định kỳ | - Review log pipeline theo chu kỳ để giảm thời gian chờ build/test. | | Cấu hình cảnh báo pipeline (Slack, Email, Teams...) | - Gửi notify khi lỗi hoặc deploy thành công. | | Commit message ý nghĩa | - Viết commit rõ ràng.
- Có thể dùng pre-commit hook hoặc CI lint commit message. | | "Definition of Done" (DoD) | - Checklist kiểm tra các bước đã pass, QA/PO đã nghiệm thu trước khi đóng task. | | Ai chịu trách nhiệm khi pipeline lỗi? | - Người vừa push hoặc cả team (tuỳ lỗi).
- Có cơ chế phân công hoặc cảnh báo rõ người chịu trách nhiệm xử lý. |