EQVPS

Cách thiết lập một runner GitHub Actions tự lưu trữ trên VPS

Đăng ký một runner GitHub Actions tự lưu trữ trên VPS và cài nó như một dịch vụ: tải runner với tư cách người dùng non-root, đăng ký bằng token repo của bạn, chạy svc.sh để nó sống sót qua reboot. Lệnh sao chép-dán.

Một runner tự lưu trữ cho bạn CI chi phí cố định với cache ấm — không tính phí theo phút, toolchain của bạn, máy của bạn. Đây là hướng dẫn thiết lập tối giản; về lý do tự lưu trữ thắng số phút do GitHub lưu trữ và chi tiết job Docker, xem hướng dẫn đầy đủca sử dụng VPS cho GitHub Actions.

1. Tạo một người dùng non-root (runner từ chối root)

adduser --disabled-password --gecos "" runner
su - runner

2. Tải runner

Trong GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, cho bạn bản tải chính xác và một token dùng một lần. Rồi:

mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64.tar.gz -L \
  https://github.com/actions/runner/releases/latest/download/actions-runner-linux-x64.tar.gz
tar xzf actions-runner-linux-x64.tar.gz

3. Đăng ký nó với repo của bạn

./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN

4. Cài như một dịch vụ (sống sót qua reboot)

Đừng chạy ./run.sh trong terminal — hãy cài nó:

sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status

Runner giờ hiển thị là Idle trong giao diện GitHub và nhận các job nhắm vào nó.

5. Dùng nó từ một workflow

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - run: make build && make test

Job Docker (tùy chọn)

Cài Docker một lần, và các workflow có thể build image với cache lớp được giữ lại giữa các lần chạy:

sudo apt install -y docker.io
sudo usermod -aG docker runner

Xem cài Docker trên VPS. Chọn kích thước: Small (8 $/tháng) thoải mái cho hầu hết CI; nâng cấp cho biên dịch nặng. Root trong khoảng một phút, không KYC, thanh toán bằng crypto.

FAQ

Làm sao đăng ký một runner GitHub Actions tự lưu trữ?

Trong repo (hoặc org) của bạn: Settings → Actions → Runners → New self-hosted runner → Linux. GitHub hiển thị một lệnh tải và một token đăng ký dùng một lần. Tải runner với tư cách người dùng non-root, chạy ./config.sh với URL và token đó, rồi cài nó như một dịch vụ bằng svc.sh. Các bước ở dưới.

Vì sao runner không thể chạy dưới quyền root?

Runner từ chối chạy dưới quyền root theo thiết kế. Tạo một người dùng non-root chuyên dụng (adduser runner) và thiết lập ở đó. Điều đó cũng giới hạn những gì một workflow độc hại có thể chạm tới trên máy của bạn.

Làm sao giữ runner chạy sau khi reboot?

Dùng trình trợ giúp svc.sh đi kèm: sudo ./svc.sh install runner && sudo ./svc.sh start. Nó cài một unit systemd để runner khởi động lúc boot và khởi động lại khi lỗi, và hiển thị là Idle trong giao diện GitHub.

Tôi có cần IP riêng cho một runner không?

Không. Runner quay ra ngoài tới GitHub qua HTTPS; không có gì cần đến nó theo chiều vào. Một gói NAT (từ 3 $/tháng) là đủ. Chỉ lấy IP riêng nếu bạn cũng tự lưu trữ thứ gì đó phục vụ lưu lượng.

Bạn có yêu cầu giấy tờ hay thẻ không?

Không. Một email để đăng ký, thanh toán bằng USDC hoặc USDT — không giấy tờ, không thẻ. Root trong khoảng một phút.

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.