تقدّم هذه المقالة أفضل الممارسات لاستخدام Firebase App Distribution و fastlane من أجل جعل مهام سير عمل اختبار الإصدارات التجريبية على منصة Apple مستدامة وقابلة للتكرار في بيئة التكامل المستمر/النشر المستمر (CI/CD). على الرغم من أنّ هذه المقالة تركّز على fastlane، فإنّنا نصف أيضًا الحلول المتاحة من خلال Firebase console و Firebase CLI وواجهة برمجة التطبيقات العامة Firebase App Distribution API لمنحك المزيد من المرونة. نصف أيضًا حدود الإصدارات والمختبِرين حتى تتمكّن من التخطيط مسبقًا للحصول على تجربة مثالية.
إذا كنت تستخدم Android أيضًا، يمكنك الاطّلاع على أفضل الممارسات لتوزيع تطبيقات Android على مختبِري ضمان الجودة باستخدام التكامل المستمر/النشر المستمر (CI/CD).
قبل البدء
قبل تنفيذ أفضل الممارسات الواردة في هذه المقالة، تأكَّد من تفعيل App Distribution في Firebase console لكل تطبيق. إذا لم يسبق لك تفعيل App Distribution، سيظهر لك الخطأ 404.
لتفعيل App Distribution، اتّبِع الخطوات التالية:
افتح صفحة App Distribution في Firebase console.
اختَر تطبيق iOS.
انقر على البدء.
تنفيذ مهام سير عمل اختبار الإصدارات التجريبية تلقائيًا باستخدام التكامل المستمر/النشر المستمر (CI/CD)
إذا كنت تريد تنفيذ مهام إنشاء التطبيقات وإصدارها للمختبِرين تلقائيًا و كنت تستخدم التكامل المستمر/النشر المستمر (CI/CD)، ننصحك باستخدام fastlane. هناك خيار آخر وهو استخدام الـ Firebase CLI، الذي يتيح لك الوصول إلى مجموعة كبيرة من منتجات Firebase.
استخدام fastlane
يمكنك دمج App Distribution في مسار التكامل المستمر/النشر المستمر (CI/CD) باستخدام fastlane، وهي أداة مفتوحة المصدر تنفّذ مهام إنشاء تطبيقات iOS وAndroid وإصدارها تلقائيًا. من خلال إنشاء أحدث إصداراتك وتوزيعها على المختبِرين تلقائيًا، يمكنك التأكّد من حصول المختبِرين دائمًا على أحدث إصدار اختباري من تطبيقك.
للتعرّف على كيفية دمج App Distribution مع fastlane، يمكنك الاطّلاع على مقالة توزيع تطبيقات iOS على المختبِرين باستخدام fastlane. يمكنك أيضًا الاطّلاع على درس تطبيقي حول الترميز يوضّح لك عملية دمج fastlane.
استخدام Firebase CLI
يمكنك استخدام أدوات Firebase CLI التي يوفّرها App Distribution لتوزيع الإصدارات على المختبِرين آليًا. يمكنك تحديد المختبِرين وملاحظات الإصدار لإحدى النسخ.
يمكنك توزيع أحدث إصدار من iOS test.ipa من خلال تحديد رقم تعريف تطبيق Firebase، مع إضافة ملاحظة إصدار وملف يحتوي على عناوين البريد الإلكتروني للمختبِرين بشكل اختياري:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
لمزيد من المعلومات عن استخدام Firebase CLI لتنفيذ مهام إنشاء النسخ تلقائيًا، يمكنك الاطّلاع على مقالة توزيع تطبيقات iOS على المختبِرين باستخدام Firebase CLI.
استخدام بيانات اعتماد حساب الخدمة للمصادقة
استخدِم المكوّن الإضافي App Distribution fastlane أو واجهة سطر الأوامر Firebase مع حسابات الخدمة التي تستفيد من بيانات الاعتماد التلقائية للتطبيق وتساعدك في إدارة التكامل المستمر. حساب الخدمة هو نوع من حسابات Google يمثّل التطبيقات بدلاً من المستخدمين. يمكن لنظام التكامل المستمر استخدام حسابات الخدمة لتشغيل أحمال عمل App Distribution. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة المصادقة باستخدام حساب خدمة.
إذا كنت تستخدم اتحاد هوية حمل العمل، يمكنك إنشاء ملف إعداد بيانات اعتماد واستخدامه بدلاً من مفتاح حساب خدمة.
مراعاة حدود الإصدارات
App Distribution يتيح ما يصل إلى 1,000 إصدار كحد أقصى لكل تطبيق. ويعني ذلك أنّه عند تجاوز حد الإصدار، يحذف App Distribution تلقائيًا أقدم الإصدارات التي تتجاوز الحد. للتعرّف على كيفية إدارة حدود الإصدارات، يمكنك الاطّلاع على مقالة ما هي مدة توفّر إصدارات التطبيقات؟
إضافة المجموعة نفسها من المختبِرين إلى إصدارات متعددة
إذا كنت تريد إضافة أعداد كبيرة من المختبِرين إلى إصداراتك، استخدِم App Distribution's وظيفة إدارة المختبِرين المجمّعة.
ننصحك باستخدام المجموعات لإضافة المختبِرين أنفسهم إلى إصدارات متعددة. تعمل المجموعة كقائمة للتحكّم في الوصول. وعند إزالة مختبِر من مجموعة، يفقد إمكانية الوصول إلى جميع الإصدارات الموزَّعة على تلك المجموعة. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة إضافة مختبِرين وإزالتهم من مجموعة.
إذا كان لديك الكثير من المختبِرين لإدارتهم، يمكنك إضافة المختبِرين وحذفهم بشكل مجمّع باستخدام Firebase console. لتنفيذ مهام إضافة المختبِرين وإزالتهم تلقائيًا، استخدِم واجهة سطر الأوامر Firebaseأو fastlaneأو واجهة برمجة التطبيقات العامة App Distribution API.
مراعاة حدود المختبِرين
يفرض App Distribution حدًا على عدد المختبِرين الذين يمكنك إضافتهم إلى مشروع Firebase أو مجموعة App Distribution. عند تجاوز هذه الحدود، لن تتمكّن من توزيع تطبيقك على مختبِرين إضافيين. لمزيد من المعلومات عن حدود المختبِرين، يمكنك الاطّلاع على مقالة هل هناك حدود لعدد المختبِرين الذين يمكنني إضافتهم إلى تطبيقي؟
إدارة أجهزة مختبِري iOS الجديدة وإضافتها تلقائيًا
لمساعدتك في تسجيل أجهزة مختبِري iOS إضافية، App Distribution يساعدك في إدارة أجهزة مختبِري iOS في Apple Developer Portal من خلال إعلامك بأجهزة iOS الجديدة للمختبِرين عبر البريد الإلكتروني أو ملفات CSV. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة استيراد المختبِرين من ملفات CSV. يمكنك أيضًا تصدير الأجهزة الجديدة آليًا باستخدام fastlane.
للتعرّف على كيفية إعداد إجراء fastlane الذي يجلب تلقائيًا أرقام تعريف الأجهزة الفريدة (UDID) ويضيفها إلى Apple developer console، ثم يعيد إنشاء التطبيق و يوزّعه، يمكنك الاطّلاع على مقالة كيفية توزيع إصدارات iOS التجريبية بشكل أسرع باستخدام ميزة App Distribution ومنصة fastlane.
السماح للمختبِرين المحتملين بتسجيل أنفسهم للاختبار
لتسهيل توزيع تطبيقك على المزيد من المختبِرين، ننصحك باستخدام روابط الدعوة. رابط الدعوة هو عنوان URL فريد يتيح للمختبِرين إدخال عناوين بريدهم الإلكتروني للاشتراك في اختبار تطبيق. إنّ السماح للمستخدمين بإضافة أنفسهم إلى قائمة مختبِري التطبيق هو طريقة سلسة لزيادة قاعدة الاختبار الداخلية.
تشمل حالات استخدام روابط الدعوة برامج اختبار المنتجات داخل الشركة والمؤسسات التي تضم فرقًا كبيرة لضمان الجودة ومجموعات المطوّرين الذين يريدون أن يتمكّن العملاء الأفراد من التحكّم في إمكانية وصول المختبِرين.
ننصحك بإنشاء رابط دعوة لمجموعة. تتم إضافة أي مختبِر يشترك باستخدام رابط الدعوة تلقائيًا إلى الإصدارات اللاحقة.
لمزيد من المعلومات، يمكنك الاطّلاع على مقالتَي إنشاء روابط الدعوة وإضافة مختبِرين وإزالتهم من مجموعة.
التأكّد من أنّ المختبِرين يختبرون الإصدار الذي يهمّك
عند تحميل إصدار جديد، يتم إعلام المختبِرين عبر البريد الإلكتروني. لتكميل هذا الإشعار، يمكنك استخدام الميزتَين التاليتَين: روابط الإصدار والتنبيهات داخل التطبيق، وذلك للتأكّد من أنّ المختبِرين يختبرون إصدار التطبيق المحدّد الذي يهمّك:
روابط الإصدار: استخدِم هذه الميزة عندما تريد مشاركة إصدار معيّن مع المختبِرين. للتعرّف على كيفية استخدام روابط الإصدار، يمكنك الاطّلاع على مقالة توزيع تطبيقات iOS على المختبِرين باستخدام Firebase console. تتوفّر هذه الروابط أيضًا مع أدوات سطر الأوامر (CLI) في Firebase وfastlane لاستخدامها مع أدوات أتمتة الإنشاء.
التنبيهات داخل التطبيق: استخدِم هذه التنبيهات عندما تريد التأكّد من أنّ المختبِرين يختبرون أحدث إصدار من تطبيقك. من خلال دمج حزمة تطوير البرامج (SDK) لنظام التشغيل iOS في Firebase App Distribution، يمكنك عرض التنبيهات مباشرةً داخل التطبيق للمختبِرين عندما تتوفّر نسخ جديدة من تطبيقك. للتعرّف على كيفية إضافة التنبيهات داخل التطبيق، يمكنك الاطّلاع على مقالة إشعار المختبِرين بشأن النسخ الجديدة.
إزالة إذن الوصول تلقائيًا للمختبِرين الذين يتركون الشركة
بعد إعداد مهام سير عمل الاختبار الداخلي في التكامل المستمر/النشر المستمر (CI/CD) وتشغيلها، عليك التأكّد من أنّ الأشخاص الذين يتركون الشركة لن يعود بإمكانهم الوصول إلى النسخ الداخلية. لمساعدتك في إدارة إذن وصول المختبِرين إلى النسخ، App Distribution يوفر الخيارات التالية:
fastlane: استخدِم ملف Fastfile أو شغِّل إجراءات fastlane مباشرةً. لمعرفة المزيد حول استخدام fastlane لإزالة المختبرين، راجع توزيع تطبيقات iOS على المختبرين باستخدام fastlane.
واجهة برمجة التطبيقات العامة Firebase App Distribution API: استخدِم نقطة النهاية
testers.batchRemove.