تنصيب وإعداد Git وGitolite للتحكم في الإصدارات على أوبنتو
مقدمة
في بيئات العمل البرمجي الحديثة، يعتبر التحكم في الإصدارات أحد الأدوات الأساسية لإدارة المشاريع والتعاون بين الفرق. من بين الأدوات الشائعة والمستخدمة في هذا المجال هي Git، وهو نظام للتحكم في الإصدارات يتمتع بالكفاءة والمرونة. إذا كنت تعمل في بيئة تعتمد على أوبنتو أو أي توزيعة من توزيعات لينكس الأخرى، فستجد أن تثبيت Git وإعداده بشكل صحيح هو الخطوة الأولى نحو تحسين سير العمل البرمجي.
بالإضافة إلى Git، يمكن استخدام Gitolite كأداة تكميلية لإدارة مستودعات Git على الخوادم. تتيح Gitolite التحكم في الوصول إلى المستودعات بطريقة مرنة وآمنة، مما يسهل إدارة فرق العمل الكبيرة وتنظيم وصول المستخدمين إلى المستودعات المختلفة.
في هذا المقال، سنغطي كيفية تنصيب Git على أوبنتو وكيفية إعداد Gitolite للتحكم في الإصدارات، مع شرح مفصل للخطوات والاعتبارات المهمة في كل مرحلة.
ما هو Git؟
Git هو نظام تحكم في الإصدارات لامركزي، يُستخدم لتتبع التغييرات في الشيفرة المصدرية أثناء تطوير البرمجيات. يتميز Git بقدرته على العمل في بيئات متعددة وأداء متميز في المشاريع التي تحتوي على كود ضخم. يتيح Git للمطورين إجراء تغييرات بشكل مستقل، ثم دمج هذه التغييرات مع الآخرين بطريقة سلسة وفعالة.
ما هو Gitolite؟
Gitolite هو أداة لإدارة الوصول إلى مستودعات Git على الخوادم. يتيح Gitolite للمديرين تنظيم الوصول إلى المستودعات المختلفة بشكل دقيق ومرن من خلال ملفات إعدادات بسيطة. يمكن من خلال Gitolite تحديد الأذونات المختلفة للمستخدمين (مثل الإذن للقراءة أو الكتابة أو الوصول الكامل) على مستوى كل مستودع أو حتى على مستوى الفرع (branch).
متطلبات النظام
قبل أن تبدأ في تنصيب Git وGitolite على أوبنتو، تأكد من أن لديك المتطلبات التالية:
-
خادم أوبنتو يعمل بنظام Ubuntu 20.04 أو أعلى.
-
صلاحيات المستخدم الجذر (Root) لتثبيت البرمجيات.
-
اتصال بالإنترنت لتنزيل الحزم المطلوبة.
-
مفاتيح SSH للوصول الآمن إلى الخادم وتبادل البيانات.
الجزء الأول: تنصيب Git
1. تحديث النظام
أولاً، يجب تحديث قائمة الحزم الخاصة بك إلى أحدث الإصدارات المتوفرة. افتح الطرفية (Terminal) واستخدم الأمر التالي:
bashsudo apt update sudo apt upgrade
2. تثبيت Git
بعد التحديث، قم بتثبيت Git باستخدام الأمر التالي:
bashsudo apt install git
سيقوم النظام بتنزيل وتثبيت أحدث إصدار من Git المتاح على أوبنتو. يمكنك التحقق من نجاح عملية التثبيت عن طريق التحقق من إصدار Git باستخدام الأمر:
bashgit --version
سيظهر لك الإصدار المثبت على النظام، مثل:
nginxgit version 2.25.1
3. إعداد Git
بعد تثبيت Git بنجاح، يجب تكوين بعض الإعدادات الأساسية مثل اسم المستخدم والبريد الإلكتروني. هذه المعلومات ضرورية لتتبع التغييرات بشكل صحيح في مستودعات Git.
استخدم الأوامر التالية لتعيين اسم المستخدم والبريد الإلكتروني الخاص بك:
bashgit config --global user.name "اسمك"
git config --global user.email "بريدك@مثال.com"
يمكنك التحقق من الإعدادات التي قمت بتعيينها باستخدام:
bashgit config --list
4. إعداد مفاتيح SSH
إذا كنت ترغب في استخدام Git للوصول إلى مستودعات عن بعد، مثل GitHub أو GitLab أو مستودع خاص، ستحتاج إلى إعداد مفاتيح SSH لضمان الاتصال الآمن.
لإنشاء مفتاح SSH جديد، استخدم الأمر التالي:
bashssh-keygen -t rsa -b 4096 -C "بريدك@مثال.com"
اتبع التعليمات على الشاشة لإنشاء المفتاح. بعد إتمام العملية، سيتم حفظ المفتاح في المسار ~/.ssh/id_rsa. يمكنك إضافة المفتاح العام إلى الخوادم التي ستتصل بها باستخدام Git.
الجزء الثاني: تنصيب Gitolite
1. تثبيت الحزم المطلوبة
قبل تثبيت Gitolite، تأكد من أنك قد قمت بتثبيت الحزم الضرورية، مثل git و openssh-server. إذا لم تكن قد قمت بذلك، استخدم الأوامر التالية:
bashsudo apt install git openssh-server
2. تنزيل Gitolite
قم بإنشاء مستخدم خاص لتشغيل Gitolite على الخادم:
bashsudo adduser --system --group --shell /bin/bash --disabled-password --gecos 'Gitolite' gitolite
ثم قم بتسجيل الدخول كمستخدم Gitolite:
bashsudo su - gitolite
بعد ذلك، قم بتحميل Gitolite من مستودعه الرسمي:
bashgit clone https://github.com/sitaramc/gitolite.git
3. تثبيت Gitolite
الآن قم بتثبيت Gitolite باستخدام الأمر التالي:
bashcd gitolite
src/gl-system-install
سيقوم هذا بتثبيت Gitolite ويعده للعمل كخدمة في النظام.
4. إعداد مفاتيح SSH لخادم Gitolite
قبل أن تتمكن من استخدام Gitolite، يجب عليك إضافة مفتاح SSH للمستخدم الذي سينشئ المستودعات. في هذه الخطوة، ستقوم بإنشاء زوج مفاتيح SSH جديد، ثم ستقوم بتحميل المفتاح العام إلى الخادم.
إنشاء مفاتيح SSH جديدة:
على جهاز العميل (الذي سيقوم بالوصول إلى مستودعات Gitolite)، قم بإنشاء مفتاح SSH جديد إذا لم يكن لديك مفتاح بالفعل:
bashssh-keygen -t rsa -b 4096 -C "بريدك@مثال.com"
انسخ المفتاح العام الناتج (~/.ssh/id_rsa.pub) إلى الخادم:
bashssh-copy-id gitolite@
استبدل بعنوان IP الخاص بالخادم.
5. إضافة المستخدم إلى Gitolite
بمجرد إضافة المفتاح، قم بتسجيل الدخول إلى الخادم كمستخدم Gitolite، ثم قم بتشغيل الأمر التالي لإعداد Gitolite:
bashgitolite setup -pk ~/.ssh/id_rsa.pub
بعد ذلك، سيتم إنشاء مستودع Gitolite للمستخدم، ويمكنك بدء إدارة المستودعات عبر Gitolite.
الجزء الثالث: إعداد Gitolite للمستودعات
1. إنشاء مستودع جديد
بعد إتمام إعداد Gitolite، يمكنك البدء في إنشاء مستودعات Git عبر Gitolite. للقيام بذلك، قم بإنشاء مستودع باستخدام الأمر التالي:
bashgitolite admin setrepo perms=RW+=
2. إدارة الأذونات
تتيح Gitolite إدارة الأذونات بشكل مرن للغاية. يمكنك تخصيص الأذونات لكل مستخدم على حدة على أساس مستودع معين. يتم ذلك عبر ملف الإعدادات الذي يتم تحميله في مستودع admin. على سبيل المثال، إذا كنت تريد منح إذن للقراءة والكتابة لمستخدم معين في مستودع ما، يمكنك تعديل الملف المناسب.
3. إضافة مستخدمين جدد
يمكنك إضافة مستخدمين جدد عبر Gitolite بسهولة. كل ما عليك فعله هو إضافة المفتاح العام للمستخدم إلى ملف gitolite-admin/keydir/، ثم تحديث إعدادات Gitolite.
bashcp /path/to/public_key.git gitolite-admin/keydir/username.pub
git commit -m "Adding new user"
git push
الخلاصة
إن تنصيب Git وGitolite على أوبنتو يتيح لك بيئة عمل متكاملة وآمنة للتحكم في الإصدارات وتعاون الفرق. بفضل Git، يمكنك إدارة الشيفرة المصدرية بطريقة مرنة وفعالة، بينما يوفر Gitolite طبقة إضافية من الأمان والمرونة في إدارة الوصول إلى المستودعات. باستخدام هذه الأدوات، يمكنك تحسين سير العمل وتسهيل التعاون بين المطورين في المشاريع البرمجية.

