Deploy bằng tay cho chắc

Lỡ chạy CI mà lỗi thì sao anh? Thôi để deploy tay vẫn chủ động hơn… như thời đồ đá!

Team khoe có pipeline CI/CD xịn xò, nhưng audit xong, tôi thấy cả team vẫn SSH vào server, chạy git pull, docker-compose up như thời “cổ đại”. Pipeline thì đầy lỗi vặt, không ai dám tin, thế là deploy tay cho “chắc cú”.


Thực trạng: Không tin pipeline

Thực trạng:  
  • Pipeline có nhưng không ổn định: test fail lung tung, không ai debug.  
  • Dev sợ chạy CI/CD vì “lỡ fail thì mất mặt”, nên quay về deploy tay.  
  • Không có chuẩn hóa: mỗi người deploy kiểu khác, từ kubectl apply đến scp file.
Hệ quả:  
  • Lỗi không kiểm soát: Deploy tay dễ gây lệch version, sót file.  
  • Mất thời gian: Dev tốn giờ SSH, debug thay vì code.  
  • Không trace được: Ai deploy? Khi nào? Không ai biết!

Giải pháp: Chuẩn hóa pipeline

Để lấy lại niềm tin:  
  • Bắt đầu nhỏ: Tích hợp lint (ESLint, Pylint) và unit test cơ bản trong pipeline.  
  • Debug dễ dàng: Log rõ ràng, gửi alert qua Slack nếu pipeline fail.  
  • Tự động hóa: Dùng GitHub Actions/GitLab CI để build, test, deploy, tránh thao tác tay.
Ví dụ: Pipeline GitHub Actions đơn giản:

name: CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: npm ci
      - run: npm run lint
      - run: npm test

🎯 Tóm lại: Pipeline không đáng tin thì dev sẽ quay về “đồ đá”. Chuẩn hóa CI nhỏ gọn, dễ debug để cả team tin dùng.

Post a Comment

Mới hơn Cũ hơn