demo_docs/Guidlines/Quy trình cơ bản cho Leader.md
2025-05-14 09:42:59 +07:00

3.7 KiB

1. Lập kế hoạch

  • Tổng thể về dự án
  • Xác định backlog
  • Xác định các chức năng phi tuyến tính
  • Xác định Tổng quan dự án: Tổng quan

2. First Design

  • Phác thảo kiến trúc
  • Quyết định cấu trúc thư mục (U-Hierarchy)

3. Kiểm tra lại các tiêu & Quy ước

  • Review lại tron Docs Folder, Guideline Folder
    • Quy trình CI/CD
    • Coding Convention
    • Commit Message
    • Branching Strategy - Branch Strategy

4. Khởi tạo repo mới

  • Khởi tạo repo & Protect Branches cho main
    • Yêu cầu PR để được merge vào main
    • ÍT nhất 1 lượt Approval
    • Pass Pipeline
    • Permission Push to main
  • Xây dựng Starter Kit
    • Xây dựng cấu trúc folder (như phần 1)
    • File cấu hình cơ bản
    • Khởi tạo dự án trong ngôn ngữ lập trình
    • Thiết lập pipeline cho CI/CD
      • Tạo thư mục .gitea/workflow
      • Tạo file yaml cho Dev & Main
      • Cấu hình cơ bản pipeline cần có
        • Check out
        • Setup ngôn ngữ
        • Caching Dependencies
        • Linting
        • Unit Test & Coverage report
        • Security Scan
        • Build Artifact
        • Upload Artifact (Main Branch)
        • Push to Docker (Main Branch)
        • Deploy to VPS(Staging) (Main Branch)
        • Deploy to VPS(Production) by Tag or Release (Main Branch)
      • Xây dựng danh sách các action và library phù hợp với phiên bản hiện tại
        • actions/checkout@v4
        • actions/setup-go@v5
        • actions/cache@v3
        • golangci/golangci-lint-action@v6
        • golang/govulncheck-action@v1
        • actions/upload-artifact@v3
        • actions/download-artifact@v3
        • docker/setup-buildx-action@v3
        • docker/build-push-action@v5
    • Tạo code mẫu
      • Health API để check live
      • Load & Read Config
      • Connect to Database
      • Cấu trúc thư mục & Module(U-Hierarchy)
      • Unit test sample - Tham khảo Unit Test Rules

5. Push Starter Kit lên main

  • Review lại toàn bộ file
  • Tạo Branch init rồi PR vào main để chạy thử Pipeline
  • Commit rõ ràng cho việc init: chore: initial project setup and starter kit

6. Checklist cho Team Lead khi Khởi tạo Repo/Service:

  • Đã xác định mục tiêu, phạm vi repo/service.
  • Đã có thiết kế high-level ban đầu.
  • Repository trên Gitea đã được tạo và cấu hình "Protected Branch".
  • File .gitignore đã được thêm và tùy chỉnh.
  • File README.md cơ bản đã được cập nhật.
  • File .env.example đã được tạo.
  • Dockerfile đã được tạo và tùy chỉnh.
  • docker-compose.yml (cho local) đã được tạo.
  • Makefile với các target cơ bản đã được thiết lập.
  • Go module / package.json đã được khởi tạo.
  • (Nếu có) Cấu hình Air cho Golang đã hoàn tất.
  • CI/CD pipeline cơ bản (Dev & Main) đã được tạo trong .gitea/workflows/.
  • Code boilerplate (Hello World, unit test mẫu) đã được thêm.
  • Starter kit đã được commit và push lên nhánh init và PR vào main.
  • README.md đã được hoàn thiện với hướng dẫn cho Developer.