EQVPS

كيفية إعداد مُشغِّل GitHub Actions ذاتي الاستضافة على VPS

سجّل مُشغِّل GitHub Actions ذاتي الاستضافة على VPS وثبّته كخدمة: نزّل المُشغِّل بصفتك مستخدماً غير root، سجّله برمز مستودعك، وشغّل svc.sh ليبقى عبر إعادات التشغيل. أوامر جاهزة للنسخ واللصق.

يمنحك المُشغِّل ذاتي الاستضافة تكاملاً مستمراً (CI) بتكلفة ثابتة وذاكرات تخزين مؤقت دافئة — بلا فوترة بالدقيقة، أدواتك أنت، جهازك أنت. هذا دليل الإعداد الأدنى؛ لمعرفة لماذا تتفوّق الاستضافة الذاتية على دقائق GitHub وتفاصيل مهام Docker، راجع الدليل الكامل وحالة استخدام VPS لـ GitHub Actions.

1. أنشئ مستخدماً غير root (المُشغِّل يرفض root)

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

2. نزّل المُشغِّل

في GitHub: 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

3. سجّله لدى مستودعك

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

4. ثبّته كخدمة (يبقى عبر إعادات التشغيل)

لا تشغّل ./run.sh في طرفية — ثبّته:

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

يظهر المُشغِّل الآن بحالة Idle في واجهة GitHub ويلتقط المهام الموجَّهة إليه.

5. استخدمه من سير عمل

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

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

ثبّت Docker مرة واحدة، وتستطيع سير العمل بناء صور مع بقاء ذاكرة الطبقات المؤقتة بين عمليات التشغيل:

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

راجع تثبيت Docker على VPS. تحديد الحجم: Small (8$ شهرياً) مريح لمعظم مهام CI؛ ارتقِ للتجميع الثقيل. root في نحو دقيقة، بلا KYC، والدفع بالعملات المشفّرة.

الأسئلة الشائعة

كيف أسجّل مُشغِّل GitHub Actions ذاتي الاستضافة؟

في مستودعك (أو مؤسستك): Settings → Actions → Runners → New self-hosted runner → Linux. يعرض GitHub أمر تنزيل ورمز تسجيل لمرة واحدة. نزّل المُشغِّل بصفتك مستخدماً غير root، شغّل ./config.sh بذلك الرابط والرمز، ثم ثبّته كخدمة عبر svc.sh. الخطوات في الأسفل.

لماذا لا يمكن للمُشغِّل أن يعمل بصفة root؟

يرفض المُشغِّل العمل بصفة root عمداً. أنشئ مستخدماً غير root مخصّصاً (adduser runner) وأعدّه هناك. يحدّ ذلك أيضاً مما قد يمسّه سير عمل خبيث على جهازك.

كيف أُبقي المُشغِّل يعمل بعد إعادة التشغيل؟

استخدم أداة svc.sh المرفقة: sudo ./svc.sh install runner && sudo ./svc.sh start. تثبّت وحدة systemd ليبدأ المُشغِّل عند الإقلاع ويعيد التشغيل عند الفشل، ويظهر بحالة Idle في واجهة GitHub.

هل أحتاج إلى IP مخصّص لمُشغِّل؟

لا. يتصل المُشغِّل خارجاً بـ GitHub عبر HTTPS؛ لا شيء يحتاج للوصول إليه وارداً. تكفي خطة NAT (من 3$ شهرياً). خذ IP مخصّصاً فقط إذا كنت تستضيف ذاتياً أيضاً شيئاً يخدم حركة مرور.

هل تطلبون هوية أو بطاقة؟

لا. بريد إلكتروني للتسجيل، والدفع بـ USDC أو USDT — بلا مستندات، بلا بطاقة. root في نحو دقيقة.

التعليقات

لا تعليقات بعد. كن الأول.

اترك تعليقًا

تُراجَع التعليقات قبل ظهورها.