Tự động hóa CI/CD cho Next.js bằng GitHub Actions: Auto-lint, Auto-test và Auto-deploy
Mỗi khi viết xong một tính năng mới, bạn vẫn phải tự gõ thủ công từng lệnh git pull, pnpm build và pm2 reload trên VPS? Hãy để GitHub Actions (Hệ thống CI/CD tự động của GitHub) thay thế bạn làm 100% công việc nhàm chán này một cách chính xác tuyệt đối mỗi khi bạn git push!
1. Quy trình CI/CD với GitHub Actions gồm những gì?
- Phase 1: Continuous Integration (CI): Tự động kiểm tra cú pháp code (ESLint), chạy Unit Test và build thử nghiệm ngay trên Server GitHub. Nếu có lỗi, chặn không cho Merge code.
- Phase 2: Continuous Deployment (CD): Khi code được đẩy vào nhánh
main, GitHub Actions tự động kết nối SSH vào VPS Server và thực thi script deploy.
2. File Workflow .github/workflows/deploy.yml chuẩn mực
Tạo file cấu hình tự động trong dự án Next.js:
name: Deploy Next.js App to VPS
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Deploy via SSH
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.VPS_SSH_KEY }}
script: |
cd /var/www/uwmee-landing-page
git pull origin main
pnpm install
pnpm build
pm2 reload uwmee-landing-page --update-env
3. Bảo mật thông tin Secret Keys trong GitHub
Vào Repository trên GitHub → Settings → Secrets and variables → Actions → Khai báo các biến VPS_HOST, VPS_USER và VPS_SSH_KEY tuyệt đối an toàn không bị lộ mã nguồn.
Kết luận
Tự động hóa CI/CD giúp đội ngũ lập trình tiết kiệm hàng trăm giờ lao động và loại bỏ 100% sai sót do thao tác thủ công. Uwmee Software thiết lập sẵn luồng CI/CD GitHub Actions tự động cho mọi dự án mã nguồn bàn giao. Đọc thêm bài viết Dockerize Next.js Standalone build.
Cần vượt Closed Testing nhanh chóng?
Đội 12+ tester thật của Uwmee tương tác hằng ngày đủ 14 ngày — trọn gói chỉ 300.000đ, chạy lại miễn phí nếu không đạt.