Skip to main content
تعمل المزامنة مع GitLab داخل خدمة web (الوحدة gitlab-sync) في كل pod من Ayakaleaf Pro. وهي تتطلب تكامل Git. أنشئ تطبيق OAuth واطّلع على وظيفة كل إعداد في المزامنة مع GitLab؛ أما هذه الصفحة فتشرح تطبيقها على Kubernetes.

الإعداد

1

ConfigMap

30-config.yaml (additions)
يجب أن يكون GIT_BRIDGE_ENABLED: "true" وكذلك StatefulSet الخاص بـ git-bridge من تكامل Git في مكانهما: فبدونهما تُخفي إعدادات الحساب والمحرّر خيار المزامنة مع GitLab.
2

Secret

يشفّر GITLAB_TOKEN_CIPHER_PASSWORD رموز الوصول والتحديث الخاصة بالمستخدمين في GitLab داخل MongoDB. يجب أن تستخدم كل نسخة متماثلة (replica) القيمة نفسها، وتغييرها لاحقًا يُلزم كل مستخدم بربط GitLab من جديد.
3

مرجع شهادات خاص (اختياري)

إذا كان GitLab لديك يستخدم شهادة صادرة عن مرجع شهادات (CA) خاص بك، فأضف هذا المرجع إلى الـ Secret المسمّى overleaf-certs المُركَّب في /var/lib/overleaf/certs (راجع الشهادات والملفات الأخرى) واضبط NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem في الـ ConfigMap.
4

التطبيق وإعادة التشغيل والتحقق

أي رمز حالة HTTP يعني أن GitLab قابل للوصول من ذلك الـ pod؛ أما 000 فيعني أنه غير قابل للوصول.

عدة نسخ متماثلة

لا يلزم أي شيء إضافي سوى GITLAB_TOKEN_CIPHER_PASSWORD المشترك. تأخذ كل عملية مزامنة قفلًا في Redis، مشتركًا مع عمليات مزامنة Git الأخرى، لذا لا تقوم نسختان متماثلتان أبدًا بمزامنة المشروع نفسه في الوقت ذاته. كما يأخذ تحديث رمز GitLab الخاص بالمستخدم قفلًا في Redis أيضًا، لذا لا تقوم نسختان متماثلتان بتحديثه في الوقت ذاته.

الاختبار على Kubernetes

في مقابل محاكاة لـ GitLab مُدار ذاتيًا على GITLAB_SYNC_URL (موثوق بها عبر NODE_EXTRA_CA_CERTS من overleaf-certs)، وعلى Kubernetes 1.37 مع نسخة متماثلة واحدة وتكامل Git مفعّل، تنجح اختباراتنا الشاملة (end-to-end) للمزامنة مع GitLab (40 حالة): ربط الحساب وإلغاء ربطه، وتحديث رمز وصول على وشك الانتهاء والرموز المُلغاة، والتصدير إلى مشروع خاص جديد أو مشروع مجموعة، واستيراد مستودع، والسحب والدفع، وعمليات الدمج، والتعارضات، والفروع المحذوفة والمدفوعة قسرًا (force-pushed)، والملفات الثنائية، وإعادة التسمية والحذف، وما يُسمح للمالكين والمحرّرين والمشاهدين بفعله.
آخر تعديل في ٢ نوفمبر ٢٠٢٦