Giới thiệu CI/CD
CI/CD (Continuous Integration & Continuous Deployment) là quy trình tự động hoá việc kiểm thử, xây dựng và triển khai phần mềm. Nó giúp giảm lỗi, tăng tốc độ đưa tính năng mới lên môi trường production và đồng nhất quy trình giữa các thành viên trong team.
- Continuous Integration: tự động chạy test mỗi khi code được push.
- Continuous Deployment: tự động deploy khi các test vượt qua.
GitHub Actions là gì?
GitHub Actions là nền tảng CI/CD tích hợp sẵn trong GitHub. Bạn chỉ cần định nghĩa workflow dưới dạng file YAML trong thư mục .github/workflows/. GitHub sẽ tự chạy workflow khi có sự kiện như push, pull_request, hoặc schedule.
Ưu điểm:
- Không cần server CI riêng – chạy trên hạ tầng GitHub.
- Dễ cấu hình, có sẵn hàng trăm action cộng đồng.
- Hỗ trợ matrix testing, secrets bảo mật.
Hướng dẫn thực hành: Tạo workflow CI/CD cho dự án Node.js
- Bước 1: Chuẩn bị repository
Tạo một repo mới trên GitHub, sau đó tạo file
package.jsonvà một test đơn giản (ví dụ sử dụngjest). - Bước 2: Tạo file workflow
Tạo thư mục
.github/workflows/và thêm fileci.ymlvới nội dung:name: CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Install dependencies run: npm install - name: Run tests run: npm testWorkflow sẽ chạy mỗi khi có push hoặc pull request, tự động cài Node, cài deps và chạy test.
- Bước 3: Thêm deploy (tùy chọn)
Nếu dự án là ứng dụng Node.js chạy trên Heroku, thêm bước deploy:
Thiết kế Website chuẩn SEO & tối ưu doanh số
Ftechx thiết kế trọn gói từ giao diện, hosting đến hệ thống thanh toán tự động.
- name: Deploy to Heroku uses: akhileshns/heroku-deploy@v3.12.12 with: heroku_api_key: ${{ secrets.HEROKU_API_KEY }} heroku_app_name: your-app-name heroku_email: your-email@example.comNhớ lưu
HEROKU_API_KEYvào Secrets của repo. - Bước 4: Kiểm tra kết quả
Sau khi push code, vào tab Actions trên GitHub để xem workflow chạy thành công hay thất bại. Nếu mọi test đều passed, deployment sẽ tự động thực hiện.
Kết luận
Với GitHub Actions, bạn có thể thiết lập CI/CD hoàn toàn miễn phí chỉ bằng vài dòng YAML. Quy trình này giúp giảm thời gian đưa code lên production, nâng cao chất lượng phần mềm và giảm stress cho developer.
Hãy thử ngay tạo workflow cho dự án của bạn và cảm nhận sự khác biệt!