DEV Community

Laptop Hưng Phát
Laptop Hưng Phát

Posted on • Originally published at technologyspot.vn

CI/CD Local Runner trên Laptop AI Intel Core Ultra 5 và Snapdragon X

Thiết lập self-hosted runner cho GitHub Actions ngay trên máy cá nhân là giải pháp lý tưởng khi bạn cần chạy CI pipeline cục bộ. Với các dòng máy phục vụ công việc AI agent hiện nay, hiệu năng CPU đóng vai trò cốt lõi thay vì NPU. Dựa trên phân tích từ TechnologySpot, việc lựa chọn giữa các dòng chip như Intel Core Ultra 5 225H (14 nhân/luồng, Cinebench R23 đạt 1969 đơn / 14629.5 đa) và Snapdragon X Elite X1E-00-1DE (12 nhân/luồng, Geekbench 6 đạt 3020 đơn / 15969 đa) mang lại những trải nghiệm build CI/CD cục bộ rất khác biệt.

Tại sao nên dùng GitHub Actions Self-Hosted Runner cục bộ?

Thay vì sử dụng hosted runner của GitHub, việc dựng local runner mang lại 3 ưu thế lớn:

  1. Tiết kiệm build minutes: Hoàn toàn miễn phí khi chạy trực tiếp trên phần cứng của bạn.
  2. Private repo: Không lo ngại về chi phí lưu lượng và giới hạn thời gian chạy cho kho mã nguồn đóng.
  3. Custom toolchain: Tận dụng trực tiếp các môi trường đã cấu hình sẵn cục bộ (Docker, compilers đặc thù).

Tuy nhiên, giới hạn lớn nhất của giải pháp này là sự tranh chấp tài nguyên. Khi runner thực hiện các tác vụ build nặng (như biên dịch backend, chạy Docker container) song song với việc bạn đang mở VS Code để code, hiện tượng giật lag hoặc tràn RAM do hai tiến trình cùng tranh giành tài nguyên rất dễ xảy ra.

Hướng dẫn cài đặt và cấu hình giới hạn tài nguyên

Để bắt đầu, bạn tải và cấu hình runner agent bằng các lệnh sau trên Linux:

mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux.tar.gz -L https://github.com/actions/runner/releases/download/v2.316.0/actions-runner-linux-2.316.0.tar.gz
tar xzf ./actions-runner-linux.tar.gz
./config.sh --url https://github.com/YOUR-ORG/YOUR-REPO --token YOUR_TOKEN
Enter fullscreen mode Exit fullscreen mode

Tiếp theo, khai báo workflow .github/workflows/ci.yml sử dụng thẻ self-hosted để kích hoạt local runner:

name: Local CI
on: [push]
jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - name: Run test
        run: npm ci && npm test
Enter fullscreen mode Exit fullscreen mode

Để tránh runner ăn hết CPU khi đang code, chúng ta sẽ cấu hình systemd service tự động khởi chạy lại và áp dụng giới hạn tài nguyên (ví dụ tối đa 60% CPU và 4GB RAM) thông qua file /etc/systemd/system/github-runner.service:

[Unit]
Description=GitHub Actions Runner
After=network.target

[Service]
ExecStart=/home/user/actions-runner/run.sh
User=user
Restart=always
RestartSec=5
CPUQuota=60%
MemoryMax=4G

[Install]
WantedBy=multi-user.target
Enter fullscreen mode Exit fullscreen mode

Kích hoạt dịch vụ hệ thống bằng lệnh sau:

sudo systemctl daemon-reload
sudo systemctl enable github-runner --now
Enter fullscreen mode Exit fullscreen mode

Bài viết này là bản tóm tắt kỹ thuật. Vui lòng tham khảo bài phân tích chi tiết về hiệu năng laptop AI agent tại TechnologySpot.

Top comments (0)