5.6 KiB
5.6 KiB
Hướng Dẫn Quy Trình Làm Việc
Tài liệu này cung cấp hướng dẫn về quy trình làm việc với dự án matching-app, bao gồm các vai trò khác nhau, công cụ hữu ích và quy trình làm việc mẫu.
Quy trình làm việc theo Role
Developer
Thiết lập môi trường
- Sử dụng
make dev-workflowđể thiết lập môi trường làm việc ban đầu - Cài đặt các công cụ cần thiết với
make install-tools - Đảm bảo đã cài đặt các công cụ: Go, Docker, Golangci-lint
Phát triển
- Sử dụng
make devcho phát triển với hot-reload - Chạy test với
make testsau mỗi thay đổi quan trọng - Kiểm tra định dạng và lỗi cú pháp với
make lint - Trước khi commit, chạy kiểm tra đầy đủ với
make ci-local
Triển khai
- Sử dụng
make docker-buildđể tạo Docker image - Test trên môi trường local với
make docker-up - Push code lên repository để hệ thống CI/CD tự động triển khai
DevOps
Quản lý môi trường
- Định kỳ kiểm tra và cập nhật Docker image với
make docker-build - Quản lý các môi trường triển khai với các lệnh
make deploy-* - Giám sát logs với
make docker-logs
CI/CD
- Thiết lập pipeline sử dụng các lệnh
make lint,make test,make sast,make sca - Tự động hóa quy trình triển khai với
make deploy-* - Kiểm tra bảo mật định kỳ với
make sastvàmake sca
QA
Kiểm tra
- Sử dụng
make runhoặcmake devđể chạy ứng dụng trên môi trường local - Kiểm tra các tính năng mới theo test case
- Báo cáo lỗi kèm theo logs từ
make docker-logs
Kiểm tra tự động
- Chạy unit test với
make test - Kiểm tra bao phủ mã nguồn từ báo cáo coverage
Các hàm hữu dụng
Quản lý ứng dụng
make build: Biên dịch ứng dụngmake run: Chạy ứng dụng đã biên dịchmake dev: Chạy ứng dụng với hot-reloadmake clean: Dọn dẹp các file tạm và build
Kiểm tra chất lượng
make lint: Kiểm tra định dạng và lỗi cú phápmake test: Chạy unit testmake sast: Phân tích bảo mật tĩnhmake sca: Kiểm tra lỗ hổng trong dependenciesmake ci-local: Chạy tất cả kiểm tra trên
Docker & Môi trường local
make docker-build: Build Docker image trên môi trường localmake docker-up: Khởi động container Docker trên môi trường localmake docker-down: Dừng container Docker trên môi trường localmake docker-logs: Xem logs từ container trên môi trường local
Quy trình phát triển
make dev-workflow: Thiết lập môi trường phát triểnmake dev-docker: Thiết lập môi trường Docker cho phát triển
Quy trình bảo mật và CI/CD
Bảo mật trong quy trình phát triển
- Tất cả code phải được gửi qua Pull Request, không được push trực tiếp vào các nhánh chính
- Mọi Pull Request phải được ít nhất 1 người review và approve
- Chỉ merge code sau khi đã pass tất cả các kiểm tra tự động (CI checks)
Triển khai qua CI/CD
- Chỉ hệ thống CI/CD mới có quyền triển khai lên các môi trường staging và production
- Tất cả triển khai lên môi trường production phải đi qua môi trường staging trước
- Pipeline CI/CD được cấu hình trong file
.drone.yml
Đặc quyền môi trường
- Người phát triển chi được phép làm việc trên môi trường local
- Chỉ DevOps và quản trị viên có quyền truy cập vào môi trường staging và production
Quy trình mẫu làm 1 ngày
Developer
Buổi sáng
- Pull code mới nhất từ repository
- Chạy
make cleanđể dọn dẹp môi trường - Chạy
make devđể bắt đầu phát triển với hot-reload - Review các task được giao
Trong ngày
- Phát triển các tính năng theo task
- Chạy
make testsau mỗi thay đổi lớn - Chạy
make lintđể kiểm tra lỗi và định dạng code - Sử dụng
make docker-upđể test trong môi trường Docker nếu cần
Trước khi commit
- Chạy
make ci-localđể đảm bảo code chất lượng - Fix các vấn đề được phát hiện
- Commit và push code
Triển khai
- Push code lên repository để kích hoạt quy trình CI/CD
- Theo dõi kết quả của pipeline trên hệ thống CI/CD
- Kiểm tra tính năng trên môi trường staging sau khi triển khai tự động hoàn tất
DevOps
Buổi sáng
- Kiểm tra trạng thái các môi trường với
make docker-logs - Xử lý các vấn đề từ monitoring overnight
Trong ngày
- Hỗ trợ các developer với vấn đề môi trường
- Cập nhật cấu hình CI/CD nếu cần
- Chuẩn bị cho việc triển khai
Cuối ngày
- Triển khai các thay đổi đã được phê duyệt với
make deploy-prod - Kiểm tra logs sau triển khai
- Cập nhật tài liệu và báo cáo
QA
Buổi sáng
- Review các tính năng cần kiểm tra
- Thiết lập môi trường test với
make dev-workflow
Trong ngày
- Kiểm tra các tính năng theo test case
- Báo cáo lỗi và ghi chép kết quả test
- Hỗ trợ developer sửa lỗi
Cuối ngày
- Tổng kết kết quả kiểm tra
- Duyệt các tính năng đã pass test
- Chuẩn bị test case cho ngày hôm sau