Orbit

ربط مستودع GitLab

GitLab connects to Orbit through OAuth rather than an installed app: you authorise Kapsule once, Orbit lists the projects your GitLab account can reach, and it registers a webhook per repository so…

ربط مستودع GitLab

يتصل GitLab بـ Orbit من خلال OAuth بدلاً من تطبيق مثبت: تصرح Kapsule مرة واحدة، ويسرد Orbit المشاريع التي يمكن لحسابك على GitLab الوصول إليها، ويسجل webhook لكل مستودع بحيث يؤدي كل push إلى تشغيل build. يغطي هذا الدليل الاتصال واختيار المستودع وإغلاق النشرات بناءً على خط أنابيب GitLab والأسباب المعتادة لعدم ظهور المستودع.

قبل البدء

لا يستطيع Orbit رؤية سوى مشاريع GitLab التي يمكن لحسابك الوصول إليها. بالنسبة للمشروع المملوك من مجموعة، تحتاج إلى حد أدنى من صلاحيات Developer، وتحتاج إلى صلاحية كافية لإنشاء webhook على المستودع. إذا كانت نسخة GitLab الخاصة بك تقيد webhooks الصادرة، فإن هذا التقييد ينطبق هنا أيضًا.

الخطوة 1: ربط GitLab

  1. في KPanel، انقر على Orbit في الشريط الجانبي الأيسر.
  2. انقر على New project.
  3. اترك الوضع مضبوطًا على Import Git Repo.
  4. في الخطوة 1، انقر على Connect GitLab.

يتم إرسالك إلى GitLab لتصريح تطبيق Kapsule Orbit. وافق على النطاقات المطلوبة وسيعيدك GitLab إلى KPanel مع تحميل مستودعاتك. تعرض الخطوة 1 بعد ذلك Just connected.

إذا فشل الاتصال، يعرض KPanel الخطأ الذي أرجعه GitLab بدلاً من رسالة عامة. اقرأه قبل إعادة المحاولة: رفض النطاق والتصريح منتهي الصلاحية يحتاجان إلى إصلاحات مختلفة.

الخطوة 2: اختيار مستودع

تظهر مستودعاتك التي يمكن الوصول إليها كقائمة. انقر على Select بجانب المستودع الذي تريده. تحمل المستودعات الخاصة شارة Private؛ يقوم Orbit بنشر المستودعات العامة والخاصة على حد سواء.

إذا كان المستودع مفقودًا

  • تحقق من دورك في المشروع. لا يكفي وصول Reporter؛ تحتاج إلى حد أدنى من صلاحيات Developer.
  • إذا كان المشروع ينتمي إلى مجموعة، فأكد عضويتك في المجموعة أو المشروع نفسه، وليس فقط مجموعة سابقة برول مقيد.
  • انقر على Reconnect GitLab في الخطوة 1 لإعادة تشغيل تدفق OAuth. يؤدي هذا إلى تحديث الرمز وإعادة قراءة قائمة المشاريع.

إذا كانت اللوحة تعرض No repos accessible، فقد نجح منح OAuth ولكنه لم يرجع أي شيء. أعد الاتصال وتحقق من أنك وافقت على نطاقات المستودع بدلاً من مجموعة مخفضة.

الخطوة 3: تكوين مشروعك

الحقلما يفعله
Project Nameاسم العرض في KPanel، على سبيل المثال my-app
Deploy URLالنطاق الفرعي تحت kaps.run، لذا يصبح my-app إلى my-app.kaps.run

انقر على Create project. يستنسخ Orbit المستودع، وينضم البناء الأول إلى الطابور، ويأخذك إلى نظرة عامة على المشروع.

يتم تثبيت slug Deploy URL عند الإنشاء ولا يمكن تغييره لاحقًا. للنشر تحت عنوان مختلف، أرفق نطاقًا مخصصًا بدلاً من ذلك. راجع إضافة نطاق مخصص إلى مشروعك.

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

يسجل Orbit webhook على مستودع GitLab الخاص بك عند إنشاء المشروع. بعد ذلك:

  • يؤدي push إلى فرع الإنتاج الخاص بك إلى قائمة انتظار نشر الإنتاج.
  • يؤدي push إلى أي فرع آخر إلى بناء معزول في branch-<branch-name>.kaps.run، إذا كان Branch previews مفعلاً في Settings تحت Runtime. راجع نشرات معاينة الفرع في Orbit.
  • حذف فرع يوقف بيئة المعاينة الخاصة به، وتستعاد التخزين خلال حوالي يوم.

لا تنشئ أو تحتفظ بـ webhook يدويًا.

انتظار خط أنابيب GitLab CI الخاص بك

إذا قمت بتشغيل الاختبارات في GitLab CI، يمكن لـ Orbit حجب النشر حتى ينجح خط الأنابيب.

  1. افتح المشروع، ثم Settings.
  2. ابحث عن CI required checks.
  3. أدخل أي قيمة غير فارغة واحفظ.

على GitLab، القيمة نفسها لا تتطابق مع أسماء المهام: أي قيمة غير فارغة تخبر Orbit بالانتظار حتى يكون خط الأنابيب الكامل ناجحًا. يلغي فشل خط الأنابيب نشر Orbit تلقائيًا. ينطبق هذا على عمليات النشر التي يتم تشغيلها بـ push على فرع الإنتاج فقط.

هذا هو المكان الذي يختلف فيه المزودان. يطابق GitHub القيمة مقابل وظائف Actions المسماة؛ يعامل GitLab أي قيمة على أنها "الانتظار حتى يكون خط الأنابيب الكامل ناجحًا". إذا كنت تنسخ الإعدادات بين مشروع GitHub و GitLab، فلا تتوقع أن يتصرف نفس الحقل بشكل متطابق.

إعادة الاتصال أو قطع الاتصال بـ GitLab

  1. انقر على Orbit، ثم New project.
  2. في الخطوة 1، انقر على Reconnect لإعادة تشغيل تدفق OAuth، أو Disconnect لإزالة الرابط.

إعادة الاتصال هي الخطوة الأولى الصحيحة كلما توقف إدراج المستودع عن العمل: رموز OAuth تنتهي صلاحيتها، وإعادة الاتصال تنتج واحدة جديدة.

يؤدي قطع الاتصال إلى الاحتفاظ بمشاريعك وسجل النشر الخاص بهم، والنشر الحي يستمر في خدمة حركة المرور. ما يتوقف هو نشر يتم تشغيله بـ push. توقف Hook النشر عن العمل أيضًا، لأن الـ hook يجب أن يقرأ رأس الفرع من خلال اتصال المزود لمعرفة ما يجب بناؤه.

قراءة ذات صلة

هل تحتاج إلى مساعدة إضافية؟

راسلنا على البريد الإلكتروني support@kapsulehost.com أو افتح محادثة في KPanel.

فتح KPanel