an.id.vnv2.0
Back to blog list

Xây dựng CI/CD Pipeline tự động với GitHub Actions

Hướng dẫn chi tiết thiết lập quy trình kiểm thử và tự động triển khai mã nguồn lên máy chủ mỗi khi push code lên GitHub.

July 15, 2026
github-actionsci-cddevopsautomation

Xây dựng CI/CD Pipeline tự động với GitHub Actions

Tự động hóa (Automation) là linh hồn của triết lý DevOps. Việc thiết lập một đường ống CI/CD (Continuous Integration / Continuous Deployment) giúp lập trình viên tự tin đẩy code mà không sợ làm sập hệ thống production.

Trong bài viết này, mình sẽ hướng dẫn thiết lập một file workflow GitHub Actions cơ bản nhưng hiệu quả cho dự án Node.js/Astro.


1. Khởi tạo file Workflow

Tất cả cấu hình của GitHub Actions phải được khai báo trong thư mục .github/workflows/ dưới định dạng file YAML.

Tạo file .github/workflows/ci.yml:

name: CI/CD Pipeline

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build-and-test:
    runs-on: ubuntu-latest

    steps:
      # 1. Checkout mã nguồn
      - name: Checkout Code
        uses: actions/checkout@v4

      # 2. Cài đặt Node.js
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: 'npm'

      # 3. Cài đặt dependencies
      - name: Install Dependencies
        run: npm ci

      # 4. Chạy Linter / Typecheck
      - name: Lint code
        run: npm run lint --if-present

      # 5. Build thử nghiệm ứng dụng
      - name: Build Project
        run: npm run build

2. Giải thích cấu trúc file YAML

  • on: Định nghĩa sự kiện kích hoạt pipeline (ở đây là các hành động push hoặc gửi pull request vào nhánh main).
  • runs-on: Hệ điều hành của máy ảo chạy build (thường dùng ubuntu-latest).
  • steps: Các bước nhỏ chạy tuần tự. Việc sử dụng cache (cache: 'npm') giúp giảm thời gian cài đặt thư viện ở các lần chạy sau tới 60%.

3. Nâng cấp lên bước Deployment (CD)

Sau khi build thành công, bạn có thể bổ sung các step để build Docker image và tự động đẩy lên registry hoặc triển khai trực tiếp sang các nền tảng đám mây như Cloudflare Pages hay Vercel thông qua các Action chính chủ.

Chúc sếp… à nhầm chúc bạn tự động hóa thành công!