دليل النشر

OneDev على VPS: Git وCI/CD وKanban في حاوية واحدة

انشر على VPS Cloud ←

الاستضافة الذاتية8 دقيقة قراءة

OneDev على VPS: Git وCI/CD وKanban في حاوية واحدة

هل تبحث عن بديل ذاتي الاستضافة لـGitHub مع CI/CD مدمج، دون تثبيت runner منفصل أو الدفع لكل مطور؟ OneDev يجمع مستودع Git ومحرك CI/CD ولوحات Kanban وسجل الحزم في حاوية Docker واحدة.

لماذا OneDev بدلاً من Gitea وحده؟

Gitea ممتاز لاستضافة الكود، لكن بمجرد أن تحتاج CI/CD، عليك تثبيت runner منفصل وتكوينه ومراقبته. OneDev يفعل ذلك افتراضيًا: عند دفع ‎.onedev-buildspec.yml، يُجدوَل مسار CI/CD ويُنفَّذ في حاوية Docker على نفس الـVPS دون إعداد إضافي.

ما تحصل عليه مع OneDev

  • منصة Git كاملة: مستودعات وفروع وطلبات دمج ومراجعات وWikis وإصدارات
  • CI/CD مدمج مع مصمم مرئي للمسارات — لا runner منفصل
  • لوحات Kanban مع انتقالات تلقائية مدفوعة بأحداث المستودع
  • سجل حزم Docker وnpm وMaven وNuGet وHelm على نفس الـURL
  • بحث رمزي في الكود وتنقل في الفوارق
  • مصادقة عبر LDAP وOAuth2 أو حسابات محلية
  • استيراد من GitHub وGitLab وGitea مع التاريخ والمشكلات

البنية: حاويتان، رابط واحد

يعمل OneDev كحاويتين Docker: 1dev/server (تطبيق Java) وpostgres:14 (قاعدة البيانات). يستمع التطبيق على المنفذ 6610؛ يضع ServOrbit خادم nginx أمامه ويتولى TLS. كل شيء يمر عبر نفس النطاق: واجهة الويب، ونسخ Git عبر HTTPS، وwebhooks CI، وسجل الحزم.

تضم صورة 1dev/server أيضًا عامل بناء محليًا. عند بدء مسار CI/CD، يُطلق حاوية Docker لكل خطوة بناء — لهذا تُحمَّل socket Docker (/var/run/docker.sock) في حاوية OneDev. تستخدم RAM حوالي 512 MB عند بدء التشغيل؛ يُوصى بـ2 GB للسماح بهامش للبناء المتزامن.

نشر OneDev في 4 خطوات

01

طلب VPS مع نطاق

اختر VPS بـ2 GB RAM على الأقل. نطاق مطلوب: يُدمج OneDev URL الخادم في روابط الاستنساخ. استخدم نطاق فرعيًا مخصصًا أو النطاق الفرعي المجاني من ServOrbit.

02

نشر تلقائي من Marketplace

في مساحة ServOrbit، اذهب إلى Marketplace → Development → OneDev → Deploy. الواجهة متاحة عبر HTTPS في دقيقتين.

03

معالج الإعداد الأولي

افتح نطاقك في متصفح. يطلب المعالج إنشاء حساب المسؤول وإدخال URL الخادم — أدخل نطاق HTTPS الكامل.

04

أول مستودع وأول مسار CI/CD

أنشئ مستودعًا، أضف .onedev-buildspec.yml وادفع. يكتشف OneDev المواصفات ويُشغّل المسار تلقائيًا.

مسار OneDev: ‎.onedev-buildspec.yml

يستخدم OneDev تنسيق YAML خاصًا به للمسارات، مختلف عن GitHub Actions أو GitLab CI. يتكون الهيكل الأساسي من jobs مع steps. يمكن لكل step استخدام صورة Docker وتشغيل سكريبت ونشر نتيجة أو إرسال إشعار.

المصمم المرئي للمسارات يولّد هذا YAML رسوميًا: تضيف الخطوات من الواجهة، وOneDev يكتب الملف. تدعم المسارات مصفوفات البناء، والجدولة عبر scheduleTrigger، ولوحة تحكم تعرض حالة جميع الوظائف.

OneDev مقارنةً بـGitea وGitLab CE

OneDevGiteaGitLab CE
CI/CD مدمجنعم (عامل مدمج)عبر runner منفصلنعم (runner GitLab)
Kanban مدمجنعملانعم
سجل الحزمDocker وnpm وMavenDocker وnpm وMavenDocker وnpm وMaven
RAM (مطور واحد)~512 MB خاملاً~200 MB2 GB كحد أدنى
الترخيصMITMITMIT (EE مملوك)
استيراد من GitHubنعم (مشكلات + PR)نعم (كود فقط)نعم

نسخ احتياطي لـOneDev

يخزن OneDev كل شيء في حجمين Docker: onedev_data (مستودعات Git والإعدادات) وonedev_db (PostgreSQL). يعني النسخ الاحتياطي الكامل أرشفة هذين الحجمين. يمكن أيضًا تهيئة نسخ احتياطي تلقائي إلى S3 من إدارة الموقع → الإعدادات → إعدادات النسخ الاحتياطي.

لا تكشف أبدًا socket Docker على واجهة عامة — فهي تمنح صلاحية root لجهاز الاستضافة. ServOrbit يربط المنفذ 6610 بالـloopback افتراضيًا.

انشر بنيتك التحتية اليوم

VPS Cloud. بيئات مُهيّأة مسبقًا متاحة.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.