EQVPS

چطور یک runner خودمیزبان GitHub Actions روی VPS راه‌اندازی کنیم

یک runner خودمیزبان GitHub Actions را روی VPS ثبت کن و به‌عنوان سرویس نصبش کن: runner را به‌عنوان کاربر غیر-root دانلود کن، با توکن مخزنت ثبت کن، svc.sh را اجرا کن تا از ری‌استارت‌ها جان سالم به‌در ببرد. فرمان‌های کپی-پیست.

یک runner خودمیزبان به تو CI با هزینهٔ ثابت و کش‌های گرم می‌دهد — بدون فوترِ دقیقه‌ای، زنجیرهٔ ابزار خودت، ماشین خودت. این راهنمای راه‌اندازیِ کمینه است؛ برای اینکه چرا خودمیزبانی از دقیقه‌های میزبانی‌شدهٔ گیت‌هاب برتر است و برای جزئیات مهام Docker، راهنمای کامل و کاربردِ VPS برای GitHub Actions را ببین.

۱. یک کاربر غیر-root بساز (runner از root سر باز می‌زند)

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

۲. runner را دانلود کن

در گیت‌هاب: Settings → Actions → Runners → New self-hosted runner → Linux، که دانلود دقیق و یک توکن یک‌بارمصرف می‌دهد. سپس:

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

۳. آن را نزد مخزنت ثبت کن

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

۴. به‌عنوان سرویس نصب کن (از ری‌استارت‌ها جان سالم به‌در می‌برد)

./run.sh را در ترمینال اجرا نکن — نصبش کن:

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

runner اکنون در رابط گیت‌هاب به‌صورت Idle نشان داده می‌شود و مهام هدف‌گذاری‌شده به‌سویش را برمی‌دارد.

۵. از یک workflow استفاده‌اش کن

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

مهام Docker (اختیاری)

Docker را یک‌بار نصب کن، و workflowها می‌توانند image بسازند در حالی که کش لایه‌ها بین اجراها باقی می‌ماند:

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

نصب Docker روی VPS را ببین. اندازه‌گذاری: Small (۸ دلار در ماه) برای بیشتر CIها راحت است؛ برای کامپایل سنگین ارتقا بده. root در حدود یک دقیقه، بدون KYC، پرداخت با ارز دیجیتال.

پرسش‌های متداول

چطور یک runner خودمیزبان GitHub Actions را ثبت کنم؟

در مخزنت (یا سازمان): Settings → Actions → Runners → New self-hosted runner → Linux. گیت‌هاب یک فرمان دانلود و یک توکن ثبتِ یک‌بارمصرف نشان می‌دهد. runner را به‌عنوان کاربر غیر-root دانلود کن، ./config.sh را با آن URL و توکن اجرا کن، سپس با svc.sh آن را به‌عنوان سرویس نصب کن. مراحل در پایین است.

چرا runner نمی‌تواند به‌عنوان root اجرا شود؟

runner از روی طراحی از اجرا به‌عنوان root سر باز می‌زند. یک کاربر غیر-root اختصاصی بساز (adduser runner) و آنجا راه‌اندازی کن. این همچنین محدود می‌کند که یک workflow مخرب چه چیزی را روی ماشینت لمس کند.

چطور runner را پس از ری‌استارت در حال اجرا نگه دارم؟

از دستیارِ همراهِ svc.sh استفاده کن: sudo ./svc.sh install runner && sudo ./svc.sh start. یک واحد systemd نصب می‌کند تا runner هنگام بوت شروع شود و پس از شکست دوباره اجرا شود، و در رابط گیت‌هاب به‌صورت Idle نشان داده شود.

آیا برای runner به IP اختصاصی نیاز دارم؟

نه. runner به‌بیرون از طریق HTTPS به گیت‌هاب وصل می‌شود؛ هیچ چیزی لازم نیست ورودی به آن برسد. یک طرح NAT (از ۳ دلار در ماه) کار می‌کند. IP اختصاصی را فقط وقتی بگیر که چیزی را هم خودمیزبانی می‌کنی که ترافیک سرو می‌کند.

آیا مدرک شناسایی یا کارت می‌خواهید؟

نه. یک ایمیل برای ثبت‌نام، پرداخت با USDC یا USDT — بدون مدرک، بدون کارت. root در حدود یک دقیقه.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.