تخطّ إلى المحتوى
AISI
𝕏
دليل إرشادي

تثبيت Gitea مع CI/CD

دليل متقدم لتثبيت خادم Gitea لإدارة الأكواد مع إعداد نظام CI/CD متكامل للنشر التلقائي.

20 دقائق قراءة DevOpsVersion Control

الاستضافة الذاتية لإدارة الأكواد

إدارة الأكواد المصدرية (Source Code Management) هي عصب أي فريق تطوير (Developers و Small Teams). ورغم شعبية منصات مثل GitHub و GitLab، فإن الحاجة لضمان الخصوصية وتقليل تكاليف الاستضافة تدفع العديد من الفرق للبحث عن بدائل ذاتية الاستضافة. هنا يبرز دور Gitea، وهو خادم خفيف جداً ومفتوح المصدر لإدارة الـ Git. والأفضل من ذلك، أنه يدعم نظام CI/CD مدمج (عبر Gitea Actions) يتوافق بشكل كبير مع صيغة GitHub Actions.

تثبيت Gitea عبر Docker Compose

أسهل وأأمن طريقة لتثبيت Gitea هي باستخدام Docker وربطه بقاعدة بيانات PostgreSQL لضمان أداء عالٍ. اتبع الخطوات التالية:

  1. قم بإنشاء مجلد باسم gitea وادخل إليه.
  2. أنشئ ملف docker-compose.yml وضع فيه إعدادات الخدمتين (Gitea و DB).
  3. حدد المنافذ الأساسية: 3000 لواجهة الويب، و 222 لاتصالات الـ SSH الخاصة بـ Git.
  4. نفذ الأمر docker-compose up -d لتبدأ الخدمة بالعمل.

افتح متصفحك على http://localhost:3000 لإكمال إعداد الحساب الإداري (Admin Account). تأكد من إدخال اسم النطاق (Domain) الصحيح لموقعك لضمان عمل روابط الاستنساخ (Clone URLs) بشكل سليم.

تفعيل نظام الأتمتة Gitea Actions

بشكل افتراضي، قد تكون ميزة (Actions) معطلة. لتفعيلها:

  • قم بتعديل ملف الإعدادات الرئيسي لـ Gitea (وهو app.ini).
  • تحت قسم [actions]، أضف السطر ENABLED = true.
  • أعد تشغيل حاوية Gitea لتطبيق التغييرات.

إعداد مشغل الإجراءات (Gitea Runner)

لتقوم Gitea بتشغيل مهام الـ CI/CD (مثل اختبار الكود (Testing) أو بنائه)، فإنها تحتاج إلى “عداء” (Runner)، وهو برنامج منفصل يستقبل المهام من خادم Gitea وينفذها. يُنصح بتشغيل الـ Runner على خادم مختلف أو حاوية منفصلة (عبر أداة act_runner):

  1. من لوحة تحكم الإدارة في Gitea، انتقل إلى قسم Runners واحصل على رمز التسجيل (Registration Token).
  2. قم بإنشاء ملف docker-compose.yml جديد لتشغيل gitea/act_runner.
  3. مرر عنوان خادم Gitea الخاص بك ورمز التسجيل (Token) كمتغيرات بيئة (Environment Variables) للحاوية.
  4. شغّل حاوية الـ Runner، وستراه يظهر كمتصل (Online) في لوحة التحكم.

بناء أول مسار عمل (Workflow)

لأن Gitea Actions متوافق مع GitHub Actions، يمكنك كتابة مسارات عمل مألوفة جداً. داخل المستودع الخاص بك (Repository)، قم بإنشاء مجلد باسم .gitea/workflows/، وضع فيه ملفاً بصيغة YAML (مثلاً build.yml).

في هذا الملف، يمكنك تعريف الخطوات كالتالي:


name: Test and Build
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python
        uses: actions/setup-python@v4
      - name: Run Tests
        run: pytest

الآن، كلما قمت برفع كود جديد (git push)، سيقوم الـ Runner بالتقاط المهمة، سحب الكود، تشغيل الاختبارات، وعرض النتائج مباشرة بجوار الكود المرفوع في واجهة Gitea.

الخلاصة

إعداد Gitea مع CI/CD مدمج يوفر لفرق التطوير بيئة عمل قوية وآمنة ومستقلة تماماً. بفضل الاستهلاك المنخفض للموارد والدعم القوي لمسارات العمل (Workflows)، تصبح استضافة وإدارة الأكواد وعمليات البناء التلقائي أمراً متاحاً وسهلاً، حتى للمؤسسات ذات الميزانيات المحدودة.