يمكنك استخدام Firebase Test Lab عند تطوير تطبيقك باستخدام أي نظام تكاملٍ مستمر (CI). تتيح لك أنظمة التكامل المستمر إنشاء تطبيقك واختباره تلقائيًا في كل مرة تُرسِل فيها تحديثات إلى رمز تطبيقك المصدر.
استخدام Firebase Test Lab مع Jenkins CI
يصف هذا القسم كيفية استخدام Test Lab مع Jenkins CI.
المتطلّبات
قبل أن تتمكّن من استخدام Firebase Test Lab مع Jenkins، عليك إكمال الخطوات التالية:
إعداد gcloud: اتّبِع التعليمات الواردة في صفحة استخدام "Firebase Test Lab" من سطر أوامر gcloud لإنشاء مشروع في Firebase وضبط البيئة المحلية لحزمة تطوير البرامج (SDK) Google Cloud.
إنشاء حساب خدمة وتفويضه لا تخضع حسابات الخدمة لعمليات التحقّق من المحتوى غير المرغوب فيه أو طلبات رمز التحقّق من الإنسان، والتي قد تؤدي إلى حظر عمليات IDE البرمجة. أنشئ حساب خدمة بدور محرِّر في Google Cloud console ثم فعِّله (اطّلِع على مستندات gcloud auth activate-service-account لمعرفة كيفية إجراء ذلك).
فعِّل واجهات برمجة التطبيقات المطلوبة. بعد تسجيل الدخول باستخدام حساب الخدمة: في صفحة "مكتبة واجهات برمجة التطبيقات" في Google Developers Console، فعِّل Google Cloud Testing API وCloud Tool Results API. ل تفعيل واجهات برمجة التطبيقات هذه، اكتب أسماء واجهات برمجة التطبيقات هذه في مربّع البحث في أعلى وحدة التحكّم، ثم انقر على تفعيل واجهة برمجة التطبيقات في صفحة النظرة العامة على واجهة برمجة التطبيقات هذه.
تثبيت Jenkins وإعداده
يمكنك تثبيت Jenkins CI وإعدادها على نظام التشغيل Linux أو Windows. ترتبط تفاصيل معيّنة في
هذا الدليل بتثبيت Jenkins CI وتشغيله على Linux، بما في ذلك
استخدام الشرطة المائلة (/
) في مسارات الملفات.
لتنزيل Jenkins وتثبيته على جهاز كمبيوتر يعمل بنظام التشغيل Linux أو Windows، اتّبِع التعليمات الواردة في مقالة تثبيت IDE IDE Jenkins. بعد تثبيت Jenkins، اتّبِع التعليمات الواردة في مقالة بدء Jenkins والوصول إليه لإكمال عملية الإعداد والوصول إلى لوحة بيانات Jenkins.
ضبط إعدادات الأمان العامة
لا يتم ضبط مصادقة المستخدم والتحكّم في الوصول في Jenkins عند تثبيته لأول مرة. قبل استخدام Jenkins مع Firebase Test Lab، عليك ضبط إعدادات الأمان العام لفرض التحكّم في الوصول ومصادقة المستخدمين.
لضبط إعدادات الأمان العامة
- انتقِل إلى لوحة بيانات Jenkins على خادمك. لإجراء ذلك، انتقِل إلى http://<servername>:8080، حيث يشير <servername> إلى اسم جهاز الكمبيوتر الذي ثبَّت عليه Jenkins.
- في لوحة بيانات Jenkins، انقر على إدارة Jenkins، ثم انقر على إعداد الأمان العام.
- في صفحة إعداد الأمان العام، انقر على تفعيل الأمان، ثم انقر على حفظ.
لمزيد من المعلومات حول ضبط إعدادات الأمان في Jenkins، اطّلِع على مقالتَي أمان سريع وبسيط وإعداد الأمان العادي وتأمين Jenkins.
إنشاء مشروع Jenkins
بعد ذلك، أنشئ مشروعًا لإجراء اختبار التكامل المستمر لتطبيقك باستخدام Firebase Test Lab.
لإنشاء مشروع Jenkins
- انتقِل إلى لوحة بيانات Jenkins على خادمك. لإجراء ذلك، انتقِل إلى http://<servername>:8080، حيث يكون <servername> هو اسم جهاز الكمبيوتر الذي ثبَّت عليه Jenkins.
- في لوحة بيانات Jenkins، انقر على عنصر جديد.
- اكتب اسمًا لمشروعك في حقل اسم العنصر:
- اختَر مشروع Freestyle لإنشاء مشروع يستخدم إعدادات ملف ترجمة واحدًا.
- اختَر إنشاء مشروع يتضمّن إعدادات متعددة لإنشاء مشروع يتم تنفيذه باستخدام إعدادات إنشاء متعددة مختلفة. إذا كنت تخطط لإنشاء تطبيقك باستخدام مجموعة متنوعة من تهيئات الإصدار (لغات متعددة ومستويات واجهة برمجة تطبيقات Android متعددة وما إلى ذلك)، فإن المشروع المتعدد التهيئة هو الخيار الأفضل.
- انقر على حفظ.
بعد إنشاء مشروعك، يعرض متصفّح الويب الصفحة الرئيسية لمشروعك.
إضافة خطوات التحكّم في المراجع وخطوات إنشاء Gradle
يصف هذا القسم طريقة دمج Jenkins مع أنظمة التحكّم في المراجعة، مثل GitHub، وكيفية إضافة خطوات إصدار Gradle لإنشاء حزم APK من رمز المصدر.
الدمج مع GitHub وأنظمة التحكّم في المراجعات الأخرى
إذا كنت تستخدم GitHub أو نظامًا آخر للتحكّم في المراجع لإدارة رمز المصدر لتطبيقك، يمكنك ضبط Jenkins لتشغيل عمليات الإنشاء المبرمَجة وإجراء الاختبارات في كل مرة يتم فيها تسجيل تحديثات تطبيقك. يمكنك أيضًا ضبط Jenkins لتشغيل عمليات الإنشاء بشكل دوري.
للتعرّف على كيفية ضبط عمليات الإنشاء في Jenkins، يُرجى الاطّلاع على مقالة ضبط عمليات الإنشاء التلقائية.
إضافة خطوات إنشاء Gradle لإعادة إنشاء حِزم APK
إذا كنت تستخدم نظامًا للتحكّم في الإصدارات لإدارة رمز المصدر لتطبيقك، عليك تضمين خطوة إنشاء Gradle لإنشاء ملفات APK ثنائية جديدة في كل مرة يتم فيها تنزيل رمز المصدر من نظام التحكّم في الإصدارات.
أضِف خطوة إنشاء لتشغيل الأوامر التالية في الدليل الرئيسي لتطبيقك:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
أضِف خطوة إنشاء لاستخدام حِزم APK التي أنشأها Gradle عند اختبار باستخدام Test Lab. يمكنك استخدام هذا المسار كقيمة لسمة <local_server_path> في مثال النص البرمجي لنظام التشغيل Shell الوارد أدناه، حيث يكون <AppFolder> هو مجلد مشروع "استوديو Android" لتطبيقك:
<AppFolder>/app/build/outputs/apk
إضافة Test Lab خطوات الإنشاء إلى Jenkins
أنت الآن مستعد لإضافة خطوة إنشاء إلى Jenkins لتشغيل Test Lab باستخدام سطر أوامر gcloud.
لإضافة خطوة إنشاء gcloud
- من الصفحة الرئيسية لمشروعك، انقر على ضبط.
في صفحة إعدادات المشروع، انتقِل للأسفل وصولاً إلى قسم إنشاء، ثم اختَر تنفيذ واجهة الأوامر من القائمة إضافة خطوة إصدار.
في نافذة Jenkins Execute shell command، أدخِل ما يلي، استبدِل <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 أو في حزمة Google Cloud Storage في مشروعك. يمكنك أيضًا إضافة الأمر
gsutil
إلى الأمر
shell المعروض أعلاه لنسخ بيانات نتائج الاختبار إلى جهاز الكمبيوتر المحلي.
لمزيد من المعلومات، يمكنك الاطّلاع على
تحليل نتائج Firebase Test Lab.
التكامل المستمر مع أنظمة CI الأخرى
للتعرّف على كيفية استخدام Firebase Test Lab مع أنظمة CI الأخرى، يمكنك الاطّلاع على المستندات الخاصة بالمنصة: