يمكنك استخدام Firebase Test Lab عند تطوير تطبيقك باستخدام أي نظام تكامل مستمر (CI). تتيح لك أنظمة التكامل المستمر إنشاء تطبيقك واختباره تلقائيًا في كل مرة تُدخِل فيها تعديلات على الرمز البرمجي المصدر لتطبيقك.
استخدام Firebase Test Lab مع Jenkins CI
يوضِّح هذا القسم كيفية استخدام Test Lab مع Jenkins CI.
المتطلبات
قبل أن تتمكّن من استخدام Firebase Test Lab مع Jenkins، عليك إكمال الخطوات التالية:
إعداد gcloud : اتّبِع التعليمات الواردة في مقالة استخدام Firebase Test Lab من سطر أوامر gcloud لإنشاء مشروع Firebase وإعداد بيئة Google Cloud SDK المحلية.
إنشاء حساب خدمة ومنحه الإذن : لا تخضع حسابات الخدمة لعمليات التحقّق من الرسائل غير المرغوب فيها أو طلبات إثبات أنّك لست برنامجًا آليًا، ما قد يؤدي إلى حظر عمليات إنشاء التكامل المستمر. أنشئ حساب خدمة لديه دور محرِّر في Google Cloud Console ، ثم فعِّله (راجِع مستندات الأمر gcloud auth activate-service-account لمعرفة كيفية إجراء ذلك).
تفعيل واجهات برمجة التطبيقات المطلوبة : بعد تسجيل الدخول باستخدام حساب الخدمة، فعِّل واجهة برمجة التطبيقات Google Cloud Testing API و واجهة برمجة التطبيقات Cloud Tool Results API في صفحة مكتبة واجهات برمجة التطبيقات في Google Developers Console. لتفعيل واجهات برمجة التطبيقات هذه، اكتب أسماءها في مربّع البحث أعلى وحدة التحكّم، ثم انقر على تفعيل واجهة برمجة التطبيقات في صفحة النظرة العامة لواجهة برمجة التطبيقات هذه.
تثبيت Jenkins وإعداده
يمكنك تثبيت Jenkins CI وإعداده على Linux أو Windows. تتعلّق بعض تفاصيل هذا الدليل بتثبيت Jenkins CI وتشغيله على Linux، بما في ذلك استخدام الشرطات المائلة (/) في مسارات الملفات.
لتنزيل Jenkins وتثبيته على جهاز كمبيوتر يعمل بنظام التشغيل Linux أو Windows، اتّبِع التعليمات الواردة في مقالة تثبيت Jenkins. بعد تثبيت Jenkins، اتّبِع التعليمات الواردة في مقالة بدء Jenkins والوصول إليه لإكمال الإعداد والوصول إلى لوحة تحكّم Jenkins.
ضبط إعدادات الأمان العام
لا يتم ضبط مصادقة المستخدم والتحكّم في الوصول في Jenkins عند تثبيته لأول مرة. قبل استخدام Jenkins مع Firebase Test Lab، اضبط إعدادات الأمان العام لفرض التحكّم في الوصول ومصادقة المستخدمين.
لضبط إعدادات الأمان العام
- انتقِل إلى لوحة تحكّم Jenkins على الخادم. لإجراء ذلك، انتقِل إلى http://<servername>:8080 ، حيث <servername> هو اسم الكمبيوتر الذي ثبَّت عليه Jenkins.
- في لوحة تحكّم Jenkins، انقر على إدارة Jenkins، ثم انقر على ضبط إعدادات الأمان العام.
- في صفحة ضبط إعدادات الأمان العام ، انقر على تفعيل الأمان، و ثم انقر على حفظ.
لمزيد من المعلومات عن ضبط إعدادات الأمان في Jenkins، يُرجى الاطّلاع على المقالات Quick and Simple Security و Standard Security Setup و Securing Jenkins.
إنشاء مشروع Jenkins
بعد ذلك، أنشئ مشروعًا لتشغيل اختبار التكامل المستمر لتطبيقك باستخدام Firebase Test Lab.
لإنشاء مشروع Jenkins
- انتقِل إلى لوحة تحكّم Jenkins على الخادم. لإجراء ذلك، انتقِل إلى http://<servername>:8080 ، حيث <servername> هو اسم الكمبيوتر الذي ثبَّت عليه Jenkins.
- في لوحة تحكّم Jenkins، انقر على عنصر جديد.
- اكتب اسمًا لمشروعك في حقل اسم العنصر :
- اختَر مشروع مستقل لإنشاء مشروع يستخدم إعدادًا واحدًا للإنشاء.
- اختَر إنشاء مشروع متعدد الإعدادات لإنشاء مشروع يتم تشغيله على إعدادات إنشاء مختلفة متعددة. إذا كنت تخطط لإنشاء تطبيقك باستخدام مجموعة متنوعة من إعدادات الإنشاء (لغات متعددة ومستويات متعددة لواجهة برمجة تطبيقات Android وما إلى ذلك)، فإنّ مشروعًا متعدد الإعدادات هو الخيار الأفضل.
- انقر على حفظ.
بعد إنشاء مشروعك، يعرض متصفّح الويب الصفحة الرئيسية لمشروعك.
إضافة خطوات التحكّم في المراجعات وإنشاء Gradle
يوضِّح هذا القسم كيفية دمج Jenkins مع أنظمة التحكّم في المراجعات، مثل GitHub، وكيفية إضافة خطوات إنشاء Gradle لإنشاء حِزم APK من الرمز البرمجي المصدر.
التكامل مع GitHub وأنظمة التحكّم في المراجعات الأخرى
إذا كنت تستخدم GitHub أو نظامًا آخر للتحكّم في المراجعات لإدارة الرمز البرمجي المصدر لتطبيقك، يمكنك ضبط Jenkins لتشغيل عمليات إنشاء واختبار تلقائية في كل مرة يتم فيها إدخال تعديلات على تطبيقك. يمكنك أيضًا ضبط Jenkins لتشغيل عمليات الإنشاء بشكلٍ دوري.
للتعرّف على كيفية ضبط عمليات الإنشاء في Jenkins، يُرجى الاطّلاع على مقالة ضبط عمليات الإنشاء التلقائية.
إضافة خطوات إنشاء Gradle لإعادة إنشاء حِزم APK
إذا كنت تستخدم نظامًا للتحكّم في المراجعات لإدارة الرمز البرمجي المصدر لتطبيقك، عليك تضمين خطوة إنشاء Gradle لإنشاء ملفات ثنائية جديدة بتنسيق APK في كل مرة ينزِّل فيها Jenkins الرمز البرمجي المصدر من نظام التحكّم في المراجعات.
أضِف خطوة إنشاء لتشغيل الأوامر التالية في الدليل الرئيسي لتطبيقك:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
أضِف خطوة إنشاء لاستخدام حِزم APK التي أنشأها Gradle عند إجراء الاختبار باستخدام Test Lab. يمكنك استخدام هذا المسار كـ <local_server_path> في مثال النص البرمجي للواجهة الذي تم تقديمه أدناه، حيث <AppFolder> هو مجلد مشروع استوديو Android لتطبيقك:
<AppFolder>/app/build/outputs/apk
إضافة خطوات إنشاء Test Lab إلى Jenkins
أنت الآن مستعد لإضافة خطوة إنشاء إلى Jenkins لتشغيل Test Lab باستخدام سطر أوامر gcloud.
لإضافة خطوة إنشاء gcloud
- من الصفحة الرئيسية لمشروعك، انقر على ضبط.
في صفحة إعدادات المشروع ، انتقِل للأسفل إلى قسم الإنشاء ، ثم اختَر تنفيذ أمر shell من قائمة إضافة خطوة إنشاء.
في نافذة أمر shell للتنفيذ في Jenkins ، أدخِل ما يلي، مع استبدال <local_server_path> بمسار نموذج التطبيق على الخادم، و<app_apk> بحزمة APK لتطبيقك، و <app_test_apk> بحزمة APK للاختبار في تطبيقك:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
تحليل نتائج الاختبار
بعد أن يكمل Test Lab اختبار تطبيقك، يمكنك مراجعة نتائج الاختبار في الـ Firebase console أو في حزمة bucket في مشروعك.Google Cloud Storage يمكنك أيضًا إضافة أمر
gsutil إلى أمر shell الموضّح أعلاه لنسخ بيانات نتائج الاختبار إلى جهاز الكمبيوتر المحلي.
لمزيد من المعلومات، يُرجى الاطّلاع على مقالة
تحليل النتائجFirebase Test Lab.
التكامل المستمر مع أنظمة التكامل المستمر الأخرى
للتعرّف على كيفية استخدام Firebase Test Lab مع أنظمة التكامل المستمر الأخرى، يُرجى الاطّلاع على مستنداتها: