كيف قمنا بأتمتة تطوير تطبيقات WL

White Label هو تطبيق للهاتف المحمول يمكن تخصيصه لأي علامة تجارية: التصميم بألوان الشركة ، وتحديد الكتل والوظائف الضرورية ، وإضافة وصف. لقد أطلقناها على أساس Rambler / cash Register منذ عام 2015 وفي هذه المقالة نريد أن نخبرك كيف تمكنا من أتمتة وتسريع تطوير WL.







Rambler / box office هي خدمة وتطبيق عبر الإنترنت لبيع تذاكر الحفلات الموسيقية والمسرح والسينما والرياضة والأحداث الأخرى. نعمل أيضًا على تطوير عروض B2B أخرى للشركاء: SDK للجوال ، وعناصر واجهة مستخدم مدمجة لمواقع الويب والشبكات الاجتماعية ، ونظام CRM للمبيعات وتحليلات الجمهور ، بالإضافة إلى عدد من الحلول التكنولوجية. ولكن اليوم سنركز فقط على WL.



ما جاء من قبل



بعد تلقي طلب لتطبيق WL ، كان على مدير المشروع إعادة تشكيل جميع المتطلبات وتنقيحها ، ونقلها إلى مدير الفريق. بدوره ، أوضح مرة أخرى وطلب جميع المعلمات اللازمة ثم وزع العمل بين المصممين والمطورين والمختبرين. أيضًا ، لإنشاء تطبيق WL ، تحتاج إلى إنشاء هدف جديد في المشروع ، وتصفح جميع ملفات التكوين ، وتعيين المعرفات المطلوبة للخدمات المختلفة ، وإعداد الألوان ، والخطوط ، والصور ، إلخ.







في الظروف المثالية ، يجب أن يستغرق تطوير WL جديد ما لا يقل عن 2-3 أيام - يوم لمطوري iOS و Android ، بالإضافة إلى الاختبار. إذا كان الموظف يواجه إنشاء تطبيق WL لأول مرة ، فقد تستغرق المهمة ما يصل إلى ثلاثة أيام حتى تكتمل ، مما يزيد من إجمالي وقت العمل. وبالتالي ، بالنسبة إلى Rambler / Cashier ، يعد إنشاء تطبيق WL مهمة روتينية تقع على عاتق المطورين وتستغرق وقتًا ثمينًا منهم.



ماذا كانت الحلول



  1. كان من الممكن ترك كل شيء كما هو والاستمرار في قضاء وقت المطورين بانتظام في إنشاء WL "يدويًا".
  2. الخيار الثاني هو تطوير حل يقوم بأتمتة عملية إنشاء WLs جديدة دون إشراك موارد التطوير. في الوقت نفسه ، لا يهم عدد المرات التي يتم فيها تلقي طلبات إنشاء WLs جديدة ، لأنه سيتم تنفيذ المهمة بأقل جهد ممكن.


بعد تحليل تواتر الطلبات لإنشاء WLs جديدة ، قررنا التمسك بالخيار الثاني. سيسمح لك هذا بإنفاق مورد تطوير مرة واحدة فقط ، ولكن يوفر للشركة أداة تسمح لك بأداء مهمة بسرعة ، بأقل جهد واستخدام وقت المديرين والدعم الفني فقط لهذا الغرض.



كيف يعمل الحل



لقد أطلقنا موقعًا به لوحة إدارية في شكل خدمات مصغرة - قسم جديد في لوحة الإدارة الحالية (CMS) لإدارة مبيعات وعروض Rambler / Cashier. لقد قمنا بتطوير برامج نصية لنظامي التشغيل iOS و Android تقوم بإنشاء تطبيق جديد محليًا في المشروع وتزويده بجميع المعلمات اللازمة.



يتم استخدام RabbitMQ كوسيط للرسائل ، ويتم حفظ جميع الإعدادات في الأرشيف ونشرها في Rambler Artifactory. ثم يتم استخدام GitLab API لبدء عملية الإنشاء في مستودعات الأجهزة المحمولة.



على الجانب الخلفي ، يتم تكوين أرشيف بملفات JSON تحتوي على المعلومات التي تم إدخالها في اللوحة الإدارية والرسومات. يستدعي مشغل Gitlab CI خط الأنابيب ، في المعلمات التي يمرر إليها الرابط إلى الأرشيف من المصنع. يتم تشغيل البرنامج النصي الذي تم تكوينه على آلة الإنشاء والكذب في جذر المشروع باستخدام ارتباط معلمة الإدخال.



برنامج نصي لنظام iOS يقوم



برنامج Ruby النصي بفك ضغط الأرشيف ، وإرسال البيانات الضرورية في جميع أنحاء المشروع ، ثم نقل التحكم إلى المهمة التالية ، التي تقوم بإجراء التغييرات ، وتحديث البودات ، وتجميع التجميع مع العرض التالي في متجر التطبيقات.



نص Android



تسحب Joba مكتبات jq و unzip الضرورية. تقوم مكتبة "unzip" بفك ضغط الأرشيف ، ويحلل البرنامج النصي json باستخدام "jq" ، وينشئ مجلدًا جديدًا في وحدة "التطبيق" ويتحقق من ملف .jks للتطبيق المحدد.



إذا كان التطبيق جديدًا ، فسيتم إنشاء هذا الملف ، ثم يتم تجميع الإصدار APK ويرسله البرنامج النصي إلى firebase - وهو يقوم بتحديث التطبيق في السوق. بعد ذلك ، تتحقق المهمة من ظهور ملف .jks جديد ، وإذا كان هناك ملف ، يتم دفعه إلى GitLab.



بالإضافة إلى ذلك ، تم نشر خدمة تقوم بمراقبة حالة التجميعات قيد التشغيل وتحديث حالاتها بحيث يمكنك مراقبة العملية والتحكم في المشكلات الناشئة.



من الناحية العملية ، تبدو أتمتة إنشاء تطبيقات WL هكذا



  1. / , , , , , .
  2. .
  3. .
  4. (ID , , , ..).
  5. « », .
  6. App Store Google Play CI.








قمنا بأتمتة إنشاء تطبيقات WL قدر الإمكان. في السابق ، استغرقت عملية التطوير نفسها من يومين إلى ثلاثة أيام وأخذت موارد المبرمجين ، ولكن الآن يقوم المدير بتشغيل جميع البيانات في 15 دقيقة وبعد حوالي 20 دقيقة يتم إنشاء التجميع تلقائيًا وإرساله إلى ضمان الجودة للاختبار. يحصل شركاؤنا على جميع الفرص المتاحة في Rambler / checkout ، ونوفر الوقت والموارد ونقلل من الأخطاء.



All Articles