العودة إلى المدونة

كيفية إعداد النشر التلقائي باستخدام Git مع VPS

كيفية إعداد النشر التلقائي باستخدام Git مع VPS

Git هو نظام التحكم في الإصدارات الأكثر شعبية في مجال تطوير البرمجيات. إنه مفتوح المصدر ويتم صيانته بنشاط منذ عام 2005 بواسطة Linus Torvalds، المبتكر الشهير لـ Linux. اليوم، يستخدم عدد هائل من مشاريع البرمجيات (بما في ذلك المشاريع التجارية) Git لإدارة الإصدارات.

يتبع Git بنية موزعة، مما يجعله مثالاً ممتازاً لـ DVCS (Distributed Version Control System). باستخدام Git، يمكننا إدارة مستودع محلي ومستودع بعيد في نفس الوقت. في هذا الدليل، سنوضح كيفية تكوين النشر التلقائي لمشروع Git باستخدام VPS.

المتطلبات الأساسية

في هذا الدليل، سيكون هناك مستودع محلي واحد ومستودع بعيد على VPS. سيقوم المستودع المحلي بدفع التغييرات إلى المستودع البعيد. ومن المستودع البعيد، يمكننا دفع التغييرات إلى beta أو  live . لتحقيق ذلك، هناك بعض المتطلبات الأساسية التي تحتاج إلى الاهتمام بها أولاً.

لإنشاء اتصال آمن بـ VPS، سنستخدم SSH. لحسن الحظ، يدعم Git أيضاً SSH كبروتوكول للاتصال بالمستودعات البعيدة. يستكشف هذا الدليل تكوين SSH للاتصال بالخوادم البعيدة على Ubuntu.

تكوين VPS

على خادمنا البعيد، سيكون لدينا التكوين التالي:

  • الدليل المباشر: /var/www/dummy-domain.com
  • مستودع الخادم: /var/repo/site.git

من الجهاز المحلي، سيقوم Git بدفع التحديثات إلى مستودع VPS. ومن مستودع VPS، سنقوم بتكوين برنامج نصي سيستخدمه Git لدفعه تلقائياً إلى الدليل المباشر. من الممكن أيضاً تكوين مستودع لإصدارات beta .

  • إنشاء المستودعات

اتصل بـ VPS وأنشئ مواقع المستودعات:

Deployment with Git screenshot 1

بعد ذلك، قم بتهيئة مستودع Git:

Deployment with Git screenshot 2

هنا، يوضح الخيار --bare أنه لن تكون هناك ملفات مصدر، بل فقط مكونات التحكم في الإصدار.

  • الخطافات

بعد ذلك، سنقوم بتكوين الخطافات للمستودع. يحتوي كل مستودع Git على مجلد باسم hooks. وهو يحتوي على ملفات عينة تعمل كقالب للخطافات والإجراءات المخصصة المختلفة.

وفقاً لـ Git الوثائق الرسمية، هناك ثلاثة أنواع من الخطافات:

  • pre-receive: يتم تنفيذه بمجرد تلقي الخادم لطلب دفع.
  • post-receive: يتم تنفيذه عند اكتمال طلب الدفع.
  • update: مشابه لـ pre-receive. ومع ذلك، فإنه يتم تنفيذه مرة واحدة لكل فرع.

من موقع المستودع، قم بتشغيل الأمر ls :

Deployment with Git code screenshot 3

قم بتغيير الدليل الحالي إلى hooks:

Deployment with Git code screenshot 4

الآن، قم بإنشاء البرنامج النصي post-receive :

داخل البرنامج النصي، أدخل الكود التالي. تأكد من تغيير مواقع الأدلة وفقاً لذلك:

Deployment with Git code screenshot 6

احفظ الملف وأغلق المحرر. قم بتعيين الملف كملف قابل للتنفيذ:

Deployment with Git code screenshot 7

الآن، في كل مرة يكتمل فيها الدفع، سينظر Git في البرنامج النصي post-receive ويضع الملفات في مكانها وفقاً لذلك.

تكوين الجهاز المحلي

الجهاز البعيد جاهز لقبول تحديثات مشروع Git الواردة. بعد ذلك، سنقوم بتكوين المستودع المحلي لاستخدام VPS كخادم Git بعيد.

لنقم بإنشاء دليل مشروع Git تجريبي:

Configuring the Local Machine

Deployment with Git code screenshot 8

sample Git project directory:

الآن، قم بتهيئة المستودع:

Deployment with Git code screenshot 9

يتعين علينا الإعلان عن المسار البعيد للمستودع. هنا، سنشير إلى الموقع البعيد باسم الفرع live . بعد ذلك، قم بتشغيل الأمر التالي:

sudo git remote

دعنا نختبر ذلك. قمنا بإضافة برنامج نصي شل إلى دليل المشروع:

project directory

بعد ذلك، أضف الملف إلى المشروع وقم بإجراء التزام:

Deployment with Git code screenshot 10

In the next command, we’ll push the project to the live server:

Deployment with Git code screenshot 11

سيتصل Git بخادم VPS باستخدام SSH. إذا تم تكوين اتصال SSH لاستخدام كلمة مرور، فسيطلب Git كلمة مرور المصادقة.

مستودع Beta

ماذا لو لم يكن من المقرر نشر المشروع في خطوة واحدة؟ ربما يتطلب الأمر مزيدًا من الاختبار داخل دليل beta directory. Using the method described so far, we can create another branch in the VPS, referred to as the beta branch.

  • تكوين فرع Beta على VPS

أولاً، نحتاج إلى إنشاء الأدلة لـ VPS. اتصل بـ VPS وأنشئ دليلاً تحت /var/www:

الآن، نحتاج إلى مستودع Git ليعمل كفرع beta branch:

تهيئة المستودع:

sudo git init

تمامًا كما كان من قبل، قم بتنفيذ برنامج نصي post-receive script:

sudo nano

بعد ذلك، أدخل الكود التالي:

GNU nano

احفظ الملف وأغلق المحرر. قم بتمييز post-receive كملف قابل للتنفيذ:

sudo chmod
  • إضافة مستودع Beta على الجهاز المحلي

نحن الآن جاهزون لإضافة مستودع beta إلى مستودعنا المحلي. من داخل دليل المشروع المحلي، قم بتشغيل أمر Git التالي:

ها قد انتهينا! تم الآن تكوين المستودع المحلي مع مستودع beta البعيد. جرب دفع التغييرات:

sudo git add
  • الانتقال من Beta إلى Live في VPS

دعنا نفترض أن جميع التغييرات قد تراكمت في مستودع beta . كيف تقوم بدفع التغييرات إلى مستودع live ؟ الأمر بسيط للغاية. داخل مستودع beta على VPS، نقوم بإضافة مستودع live المحلي. بعد ذلك، نقوم ببساطة بدفع إصدار beta إلى مستودع live .

اتصل بـ VPS، وقم بتشغيل الأوامر التالية:

بعد ذلك، يمكنك دفع إصدار beta إلى live:

sudo git push live master

أفكار نهائية

يوضح هذا الدليل بنجاح كيفية تكوين واستخدام VPS كمستودع بعيد لمشروع Git الخاص بك. يمكن لـ VPS نشر أحدث الأكواد والملفات تلقائيًا دون أي عملية معقدة. كما يمكنه أيضًا العمل كمركز للتعاون بين فرق تطوير متعددة.

بمساعدة Git، يمكنك إنشاء آلية بسيطة للنشر التلقائي. ومع ذلك، لإدارة المشاريع بشكل صحيح، يوصى باستخدام شيء مثل GitLab. يعرض الدليل التالي تثبيت ونشر GitLab على VPS الذي يدير مشاريع متعددة. يمكنك أيضًا الاطلاع على كيفية إعداد خطوط أنابيب التكامل المستمر (CI) لـ GitLab على Ubuntu 20.04.

حوسبة سعيدة!

author

Hark Labs

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

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