EQVPS

VPS สำหรับ self-hosted GitHub Actions runner

รัน self-hosted GitHub Actions runner ของคุณเองบน VPS — CI เร็วขึ้น ไม่มีการเรียกเก็บต่อนาที ควบคุมสภาพแวดล้อม build ได้เต็มที่ จ่ายด้วยคริปโต ไม่ต้อง KYC เริ่มต้น $8/เดือน

runner ที่ GitHub โฮสต์สะดวกจนกว่าบิลหรือเวลารอเริ่มเจ็บ เกิน free tier คุณจ่ายต่อนาที cold-start ทุก job และดาวน์โหลด dependency ใหม่ทุกการรัน self-hosted runner บน VPS ของคุณเองพลิกทั้งสาม: ต้นทุนรายเดือนคงที่ เครื่อง warm ที่แคชของคุณอยู่บนดิสก์แล้ว และสภาพแวดล้อม build ที่คุณควบคุมเต็มที่ — เวอร์ชันเครื่องมือเจาะจง RAM มากขึ้น Docker layer cache ที่คงอยู่จริง

runner ต้องเข้าถึง GitHub ขาออกเท่านั้น ดังนั้นมันทำงานบนแพ็กเกจถูกที่สุดของเรา จ่ายด้วยคริปโต และไม่ต้อง KYC

runner ต้องการอะไร

ตั้ง runner (Ubuntu 24.04)

สร้าง runner ใน repo (หรือ org) ของคุณ: Settings → Actions → Runners → New self-hosted runner → Linux GitHub แสดงคำสั่งดาวน์โหลดและโทเคนลงทะเบียนใช้ครั้งเดียว บน VPS:

# ในฐานะผู้ใช้ที่ไม่ใช่ root (runner ปฏิเสธที่จะรันในฐานะ root)
adduser --disabled-password --gecos "" runner
su - runner

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

# ลงทะเบียนด้วย URL + โทเคนจาก GitHub UI
./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN

เก็บมันให้ทำงานเป็นบริการ

อย่ารัน ./run.sh ใน terminal — ติดตั้งมันเป็นบริการ systemd เพื่อให้มันรอดรีบูต:

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

runner ตอนนี้ปรากฏเป็น Idle ใน GitHub UI และรับ job ใดที่มุ่งเป้ามัน

ใช้มันจากเวิร์กโฟลว์

ชี้ job ไปยัง runner ของคุณด้วย runs-on:

jobs:
  build:
    runs-on: self-hosted        # หรือ label ที่กำหนดเองที่คุณตั้งตอนลงทะเบียน
    steps:
      - uses: actions/checkout@v4
      - run: make build && make test

job ที่ใช้ Docker

ติดตั้ง Docker ครั้งเดียวและเวิร์กโฟลว์ของคุณ build อิมเมจหรือรัน service container ได้ พร้อม layer cache ที่คงอยู่ระหว่างการรัน:

sudo apt update && sudo apt install -y docker.io
sudo usermod -aG docker runner   # ให้ runner ใช้ Docker โดยไม่ต้อง sudo

สำหรับการแยกต่อ job แบบใช้แล้วทิ้ง รัน runner เองในคอนเทนเนอร์และสร้างมันใหม่ทุกการรัน — รูปแบบทั่วไปสำหรับ build ที่ไม่น่าเชื่อถือหรือ matrix

ทำไม EQVPS สำหรับ CI

คู่มือการตั้งค่าทีละขั้นฉบับเต็ม →

พร้อม deploy แล้วหรือยัง? จ่ายด้วยคริปโต ไม่ต้อง KYC — ใช้งานได้ในราวหนึ่งนาที

Deploy เลย →

FAQ

ฉันรัน self-hosted GitHub Actions runner บน VPS อย่างไร?

จัดเตรียม Linux VPS (Small — 4 vCPU / 4 GB — คือค่าเริ่มต้นที่สมเหตุสมผล) ติดตั้งแพ็กเกจ runner จาก Settings → Actions → Runners ของ repo คุณ ลงทะเบียนด้วยโทเคนที่ GitHub ให้ และเริ่มมันเป็นบริการ ขั้นตอนคัดลอก-วางเต็มอยู่ด้านล่าง คุณได้ root ในเวลาประมาณหนึ่งนาที

ฉันรัน runner ใน Docker ได้ไหม?

ได้ รันอิมเมจ runner ทางการ (หรือของคุณเอง) ในคอนเทนเนอร์ หรือใช้มันเพื่อให้แต่ละ job มีสภาพแวดล้อมที่แยกและใช้แล้วทิ้ง ไม่ต้องมีแพ็กเกจ dedicated-IP — runner ทำเฉพาะการเชื่อมต่อขาออกไปยัง GitHub ดังนั้นแพ็กเกจ NAT ก็ใช้ได้

ฉันเก็บ runner ให้ทำงานเป็นบริการอย่างไร?

runner มาพร้อมตัวช่วย svc.sh ที่ติดตั้ง systemd unit: ./svc.sh install && ./svc.sh start จากนั้นมันรอดรีบูตและรีสตาร์ทเมื่อล้มเหลว คู่มือด้านล่างแสดงคำสั่งที่แน่นอน

self-hosted runner ถูกกว่านาที GitHub-hosted ไหม?

สำหรับ CI หนักหรือบ่อย ใช่ runner ที่ GitHub โฮสต์คิดเงินต่อนาทีเกิน free tier VPS $8/เดือน รันนาทีไม่จำกัดในราคาคงที่ และยัง warm อยู่ (ไม่มี cold-start, dependency ที่แคช) repo ที่ยุ่งตัวเดียวมักจ่ายค่าเครื่อง

คุณขอ ID หรือบัตรเครดิตไหม?

ไม่ ลงทะเบียนด้วยอีเมล จ่ายด้วย USDC หรือ USDT ไม่มีเอกสาร ไม่มีบัตร ไม่ต้อง KYC — ตลอดกาล

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

แสดงความคิดเห็น

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง