تثبيت Gitea مع CI/CD
دليل متقدم لتثبيت خادم Gitea لإدارة الأكواد مع إعداد نظام CI/CD متكامل للنشر التلقائي.
الاستضافة الذاتية لإدارة الأكواد
إدارة الأكواد المصدرية (Source Code Management) هي عصب أي فريق تطوير (Developers و Small Teams). ورغم شعبية منصات مثل GitHub و GitLab، فإن الحاجة لضمان الخصوصية وتقليل تكاليف الاستضافة تدفع العديد من الفرق للبحث عن بدائل ذاتية الاستضافة. هنا يبرز دور Gitea، وهو خادم خفيف جداً ومفتوح المصدر لإدارة الـ Git. والأفضل من ذلك، أنه يدعم نظام CI/CD مدمج (عبر Gitea Actions) يتوافق بشكل كبير مع صيغة GitHub Actions.
تثبيت Gitea عبر Docker Compose
أسهل وأأمن طريقة لتثبيت Gitea هي باستخدام Docker وربطه بقاعدة بيانات PostgreSQL لضمان أداء عالٍ. اتبع الخطوات التالية:
- قم بإنشاء مجلد باسم
giteaوادخل إليه. - أنشئ ملف
docker-compose.ymlوضع فيه إعدادات الخدمتين (Gitea و DB). - حدد المنافذ الأساسية:
3000لواجهة الويب، و222لاتصالات الـ SSH الخاصة بـ Git. - نفذ الأمر
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):
- من لوحة تحكم الإدارة في Gitea، انتقل إلى قسم Runners واحصل على رمز التسجيل (Registration Token).
- قم بإنشاء ملف
docker-compose.ymlجديد لتشغيلgitea/act_runner. - مرر عنوان خادم Gitea الخاص بك ورمز التسجيل (Token) كمتغيرات بيئة (Environment Variables) للحاوية.
- شغّل حاوية الـ 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)، تصبح استضافة وإدارة الأكواد وعمليات البناء التلقائي أمراً متاحاً وسهلاً، حتى للمؤسسات ذات الميزانيات المحدودة.