CI/CD pipeline chậm quá làm dev tụi em mất flow

Pipeline chạy 12 phút, tụi em đi xem meme hết rồi!
– Nhưng code build lâu vì 1600 test unit, toàn mock sai.

Dev than pipeline chậm, đổ lỗi GitLab runner, nhưng audit thấy codebase có 1600 test unit, mock sai, retry liên tục. DevOps cũng không cache Docker layers, làm build càng thêm ì ạch.


Phân tích: Ai là thủ phạm?

Backend: Test unit viết kém, mock sai, retry nhiều lần.  
DevOps: Không dùng cache layer, build lại toàn bộ image mỗi lần.  
Hệ quả: Pipeline chạy lâu, dev lười push, feature kẹt.

Phân xử

Cả hai đều có lỗi: Backend viết test kém, DevOps không tối ưu pipeline. Cần refactor cả codebase và pipeline để cứu “flow” của dev.

Giải pháp

Backend: Refactor test, dùng mock đúng, giảm retry không cần thiết.  
DevOps: Cache node_modules, Docker layers trong pipeline.  
Cả hai: Split test job (unit, integration) để chạy song song.

Ví dụ: Cache Docker trong GitLab CI:

build:
  stage: build
  cache:
    paths:
      - node_modules/
  script:
    - npm ci
    - npm run build

🎯 Tóm lại: Backend và DevOps chia đôi tội: test kém và pipeline không cache. Refactor test và dùng caching để pipeline nhanh, dev giữ được flow.

Post a Comment

Mới hơn Cũ hơn