العودة إلى المدونة
Tutorial2 دقيقة قراءة

CI/CD في FiveM مع GitHub Actions: أتمتة عمليات النشر

إعداد خطوط CI/CD لموارد FiveM باستخدام GitHub Actions. التدقيق اللغوي، الاختبارات، بناء القطع الأثرية والنشر التلقائي إلى خادمك بدون توقف.

Agency Scripts

المؤسس والمطور الرئيسي في Agency Scripts

لماذا CI/CD لتطوير FiveM؟

التكامل المستمر والنشر المستمر قد يبدو مبالغًا فيه لسكريبتات FiveM، لكن مع زيادة تعقيد مشاريعك وتوسع فريقك، تصبح سير العمل الآلي لا يقدر بثمن. يكتشف CI/CD أخطاء الصياغة قبل وصولها إلى خادمك، يفرض معايير جودة الكود عبر المساهمين، ي automatises ترقية الإصدارات وتوليد سجل التغييرات، ويغلف الإصدارات بشكل متسق. توفر GitHub Actions CI/CD مجانية للمستودعات العامة ودقائق مجانية سخية للمستودعات الخاصة، مما يجعلها المنصة المثالية لمطوري FiveM.

إعداد تدقيق Lua

ابدأ خط أنابيب CI الخاص بك مع التدقيق التلقائي باستخدام Luacheck، أداة التحليل الثابت القياسية للغة Lua. أنشئ .github/workflows/lint.yml الملف يجب أن يكون بسيطًا. يحتاج فقط إلى div حاوية حيث سيتم حقن الإشعارات ديناميكيًا بواسطة JavaScript. حافظ على HTML خفيفًا لأن كل عنصر إشعار يُنشأ ويُدمر برمجيًا. اربط ورقة الأنماط والنص البرمجي، وتأكد من أن الجسم له خلفية شفافة حتى يظل عالم اللعبة مرئيًا خلف إشعاراتك. .luacheckrc تكوين يحدد المتغيرات العالمية لـ FiveM مثل Citizen, TriggerServerEvent، ووظائف أخرى خاصة بالإطار. هذا يلتقط مراجع المتغيرات غير المعرفة، والمتغيرات المحلية غير المستخدمة، وعدم اتساق الأسلوب قبل وصول الكود إلى الإنتاج.

التحقق من بناء TypeScript

إذا كان مشروع FiveM الخاص بك يستخدم TypeScript، أضف خطوة بناء تقوم بترجمة مصادر TypeScript والتحقق من عدم وجود أخطاء نوع. ثبت تبعيات مشروعك باستخدام npm، ثم شغّل مترجم TypeScript في وضع التحقق. هذا يضمن أن كل طلب سحب ينتج جافا سكريبت صالح ويلتقط عدم تطابق الأنواع التي قد تسبب أخطاء وقت التشغيل. قم بتضمين هذه الخطوة قبل التدقيق حتى تتحقق من مخرجات Lua أو JavaScript المولدة جنبًا إلى جنب مع مصدر TypeScript، مما يمنحك تغطية كاملة للمشكلات المحتملة.

إدارة الإصدارات الآلية

استخدم GitHub Actions لأتمتة سير عمل الإصدار الخاص بك. عند دفع علامة تطابق نمط الإصدار مثل v*.*.*، تفعيل سير عمل يستخرج رقم الإصدار، ويحدثه في fxmanifest.lua، ينشئ سجل التغييرات من رسائل الالتزام منذ الوسم الأخير، يبني أي أصول مترجمة، وينشئ إصدار GitHub مع المورد المعبأ كملف قابل للتنزيل. هذا يلغي التحضير اليدوي للإصدار ويضمن أن كل إصدار متسق وكامل.

استراتيجيات الاختبار الآلي

بينما يفتقر FiveM إلى إطار اختبار مدمج، يمكنك اختبار دوال الأدوات المشتركة والمنطق التجاري باستخدام أدوات اختبار Lua القياسية مثل Busted. قم بمحاكاة المتغيرات العالمية والدوال الأصلية الخاصة بـ FiveM في بيئة الاختبار الخاصة بك، ثم شغّل اختبارات الوحدة على دوال المنطق النقي. للاختبار التكامل، فكر في إعداد سيرفر FiveM بدون واجهة في حاوية Docker يقوم بتحميل المورد الخاص بك وتشغيل سيناريوهات مؤتمتة باستخدام عميل اختبار. هذه الاختبارات تكتشف التراجعات مبكرًا وتبني الثقة في جودة الإصدار الخاص بك.

أتمتة النشر

للفرق التي تدير خوادم حية، قم بتوسيع خط أنابيب CI/CD الخاص بك للتعامل مع النشر. بعد بناء ناجح وتشغيل اختبار، استخدم إجراءات SSH أو FTP لنشر المورد المحدث على خادم الاختبار الخاص بك. شغل اختبار دخان يتحقق من بدء المورد بدون أخطاء، ثم قم بالترقية إلى الإنتاج مع بوابة موافقة يدوية. خزّن بيانات اعتماد الخادم كأسرار GitHub وقيد سير عمل النشر على الفروع المحمية. يضمن هذا سير العمل وصول الكود المختبر والمراجع فقط إلى خادمك الحي ويقلل من خطر نشر تحديثات معطلة تعطل مجتمعك.

جاهز للبدء؟

احصل على السكربتات من متجرنا، أو انضم إلى Discord للدعم والتحديثات ونظرة على ما هو قادم.