عن المشروع
Freshmaker هي خدمة مصممة لإعادة بناء القطع الأثرية للبرمجيات تلقائيًا بعد تغيير تبعياتها. على سبيل المثال، يمكنها إعادة بناء وحدة ما عندما يتم تحديث ملف .spec الخاص بـ RPM أو عندما يتم دفع RPM إلى stable عبر Bodhi. وبالمثل، يمكنها إعادة بناء صور الحاويات عندما يتم تحديث RPM داخل الحاوية. توفر الخدمة واجهة برمجة تطبيقات REST لاسترداد معلومات حول إعادة بناء القطع الأثرية وأسباب هذه الإعادة، وترسل رسائل إلى ناقل الرسائل حول هذه الأحداث.
من الناحية المعمارية، يعتمد Freshmaker على نمط Event-Handler. الأحداث هي رسائل fedmsg يتم استلامها من خدمات أخرى مثل dist-git وKoji وBodhi. المعالجات هي فئات صغيرة تستخدم واجهة برمجة تطبيقات عالية المستوى مقدمة من Freshmaker core لإعادة بناء القطع الأثرية. يوفر النظام أيضًا واجهة برمجة تطبيقات عالية المستوى لتتبع التبعيات بين القطع الأثرية، مما يجعل عملية الإعادة بناء فعالة وموثوقة.
يتضمن سير العمل انتظار رسائل fedmsg جديدة حول تحديثات القطع الأثرية، وتحليل هذه الرسائل إلى كائنات Event، ثم معالجة هذه الأحداث باستخدام معالجات محددة. تقوم هذه المعالجات بتحديد قائمة القطع الأثرية التي يجب إعادة بنائها، وتخطيط الإعادة بناء في هيكل شجري لضمان ترتيب البناء الصحيح، وإعداد المتطلبات الأساسية (مثل إنشاء مستودعات RPM محدثة)، وأخيرًا بدء الإعادة بناء. يتضمن Freshmaker دعمًا مدمجًا للمهام الشائعة مثل إدارة قاعدة بيانات للقطع الأثرية وتباعيتها، والتكامل مع أنظمة مثل Koji وODCS لبدء عمليات البناء.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.