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.
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ánhmain).runs-on: Hệ điều hành của máy ảo chạy build (thường dùngubuntu-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!