CI/CD Pipeline thực chiến: Từ commit đến production trong 8 phút

Xây dựng pipeline CI/CD hoàn chỉnh với GitHub Actions, Docker, và ArgoCD – deployment tự động, rollback tức thì, zero-downtime cho ứng dụng production.

DevOps 10 phút đọc
#CI/CD #GitHub Actions #ArgoCD #DevOps #Docker
Trang Chủ / Blog /CI/CD Pipeline thực chiến: Từ commit đến production trong 8 phút
ANSOL 10 phút đọc

Mục tiêu của một pipeline tốt

Một pipeline CI/CD tốt phải đáp ứng: an toàn, nhanh và có thể rollback bất kỳ lúc nào. Thời gian từ merge PR đến production không nên quá 10 phút.

Cấu trúc pipeline tại ANSOL

commit → lint → test → build image → push registry → deploy staging → smoke test → deploy prod

GitHub Actions workflow

name: Deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run tests
        run: pnpm test --coverage
      - name: Build & push Docker image
        run: |
          docker build -t $IMAGE_TAG .
          docker push $IMAGE_TAG
      - name: Deploy via ArgoCD
        run: argocd app sync my-app --timeout 300

GitOps với ArgoCD

Sử dụng ArgoCD để đảm bảo trạng thái cluster luôn khớp với git repository. Mọi thay đổi infrastructure đều có audit trail và rollback 1 click.

Kết quả

Pipeline hiện tại của ANSOL: build 3 phút, test 2 phút, deploy 3 phút = 8 phút tổng. Tần suất deploy tăng từ 2 lần/tuần lên 15 lần/ngày.

Vận hành hiệu quả bắt đầu từ việc nhìn thấy thực tế rõ ràng.