Bài viết

🚀 Giới thiệu GitHub Actions

GitHub Actions là một dịch vụ CI/CD (Continuous Integration/Continuous Deployment) giúp tự động hóa các quy trình phát triển phần mềm ngay trong repository của GitHub.

📝 1. Tổng quan

GitHub Actions cho phép bạn tạo các workflow để:

  • ✅ Tự động hóa quá trình build, test và deploy ứng dụng.
  • 🔄 Chạy script theo lịch trình hoặc khi có sự kiện cụ thể xảy ra (push code, mở pull request, tạo release,…).
  • 🔗 Tích hợp với các dịch vụ bên thứ ba hoặc quản lý hạ tầng.

🏗 2. Cấu trúc của GitHub Actions

📜 Workflow

  • Là một tập hợp các job được định nghĩa trong file YAML trong thư mục .github/workflows/.
  • Ví dụ file workflow ci.yml:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    name: CI Pipeline
    on: [push, pull_request]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout repository
            uses: actions/checkout@v4
            
          - name: Set up Node.js
            uses: actions/setup-node@v3
            with:
              node-version: '18'
            
          - name: Install dependencies
            run: npm install
    
          - name: Run tests
            run: npm test
    

🏗 Job

  • Một tập hợp các bước (steps) chạy trên cùng một runner.
  • Có thể chạy song song hoặc theo thứ tự nhất định.

🔧 Step

  • Một bước trong job, có thể là chạy command hoặc sử dụng một action có sẵn.

💻 Runner

  • Môi trường thực thi workflow (Ubuntu, Windows, macOS, hoặc self-hosted runner).

🚀 3. Cách tạo một GitHub Actions đơn giản

  1. 📂 Tạo thư mục và file workflow
    1
    2
    
    mkdir -p .github/workflows
    touch .github/workflows/main.yml
    
  2. ✍️ Viết nội dung file main.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    name: Hello GitHub Actions
    on: [push]
       
    jobs:
      hello-world:
        runs-on: ubuntu-latest
        steps:
          - name: Print Hello World
            run: echo "Hello, GitHub Actions!"
    
  3. 📤 Commit và push code lên GitHub
    1
    2
    3
    
    git add .
    git commit -m "Add GitHub Actions workflow"
    git push origin main
    
  4. 🔍 Kiểm tra workflow trên GitHub
    • Vào repository → Tab Actions để xem trạng thái workflow.

⚙️ 4. Các Action hữu ích

  • 🛠 actions/checkout@v4: Lấy source code từ repository.
  • 🏗 actions/setup-node@v3: Thiết lập Node.js.
  • 🐳 docker/build-push-action: Xây dựng và đẩy Docker image.
  • 🔍 github/super-linter: Chạy linter để kiểm tra code.

🚀 5. Triển khai ứng dụng với GitHub Actions

Ví dụ deploy lên Vercel:

1
2
3
4
5
6
7
8
9
10
11
12
name: Deploy to Vercel
on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      
      - name: Deploy to Vercel
        run: npx vercel --token $

🎯 6. Kết luận

GitHub Actions là một công cụ mạnh mẽ giúp tự động hóa quá trình phát triển phần mềm. Việc hiểu và áp dụng đúng cách sẽ giúp tăng hiệu suất và giảm thiểu công việc thủ công trong quy trình DevOps.

Bài viết này được cấp phép bởi tác giả theo giấy phép CC BY 4.0 .