میتوانید از 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 دنبال کنید.
حساب سرویس ایجاد و آن را مجاز کنید. حسابهای سرویس مشمول بررسی هرزنامه یا پیاموارههای captcha نمیشوند، که درغیراینصورت ممکن است ساختهای CI شما را مسدود کنند. حساب خدماتی با نقش ویرایشگر در Google Cloud کنسول ایجاد کنید و سپس آن را فعال کنید (برای آشنایی با نحوه انجام این کار، اسناد gcloud auth activate-service-account را ببینید).
میاناهای برنامهسازی کاربردی موردنیاز را فعال کنید. پساز ورود به سیستم بااستفاده از حساب خدماتی: در صفحه «کتابخانه API کنسول توسعهدهندگان Google»، Google Cloud Testing API و Cloud Tool Results API را فعال کنید. برای فعال کردن این میاناهای برنامهسازی کاربردی، نام این میاناهای برنامهسازی کاربردی را در چارگوش جستجو در بالای کنسول تایپ کنید، و سپس در صفحه نمای کلی آن میانای برنامهسازی کاربردی، روی فعال کردن میانای برنامهسازی کاربردی کلیک کنید.
نصب و راهاندازی 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، روی Manage Jenkins (مدیریت Jenkins) کلیک کنید، و سپس روی Configure Global Security (پیکربندی امنیت جهانی) کلیک کنید.
- در صفحه پیکربندی امنیت جهانی، روی فعال کردن امنیت کلیک کنید، و سپس روی ذخیره کلیک کنید.
برای کسب اطلاعات بیشتر درباره پیکربندی تنظیمات امنیتی برای Jenkins، به امنیت سریع و ساده، راهاندازی امنیت استاندارد، و ایمنسازی Jenkins مراجعه کنید.
ایجاد پروژه Jenkins
سپس، پروژهای برای اجرای آزمایش یکپارچهسازی مداوم برنامهتان با Firebase Test Lab ایجاد کنید.
برای ایجاد پروژه Jenkins
- به داشبورد Jenkins در سرورتان پیمایش کنید. برای انجام این کار، به http://<servername>:8080 مرور کنید، که در آن <servername> نام رایانهای است که Jenkins را در آن نصب کردهاید.
- در داشبورد Jenkins، روی مورد جدید کلیک کنید.
- نامی برای پروژه خود در فیلد نام مورد تایپ کنید:
- برای ایجاد پروژهای که از پیکربندی ساخت واحدی استفاده میکند، پروژه سبک آزاد را انتخاب کنید.
- برای ایجاد پروژهای که روی چند پیکربندی ساخت مختلف اجرا میشود، ساخت پروژه چند پیکربندی را انتخاب کنید. اگر قصد دارید برنامهتان را با پیکربندیهای ساخت متنوع (چندین منطقه جغرافیایی، چندین سطح Android API، و غیره) بسازید، پروژه چندپیکربندی بهترین انتخاب است.
- روی ذخیره کردن کلیک کنید.
پساز ایجاد پروژه، مرورگر وب شما صفحه اصلی پروژه را نمایش میدهد.
افزودن کنترل بازبینی و مراحل ساخت Gradle
این بخش نحوه ادغام Jenkins با سیستمهای کنترل بازبینی مانند GitHub و نحوه افزودن مراحل ساخت Gradle برای ساختن بستههای APK از کد منبع را توضیح میدهد.
ادغام با GitHub و دیگر سیستمهای کنترل بازبینی
اگر از GitHub یا سیستم کنترل نسخه دیگری برای مدیریت کد منبع برنامهتان استفاده میکنید، میتوانید Jenkins را پیکربندی کنید تا هر بار که بهروزرسانیهای برنامهتان بررسی میشود، ساختهای خودکارشده و آزمایشها را اجرا کند. همچنین میتوانید Jenkins را پیکربندی کنید تا ساختها را بهصورت دورهای اجرا کند.
برای آشنایی با پیکربندی ساختها در Jenkins، به پیکربندی ساختهای خودکار مراجعه کنید.
افزودن مراحل ساخت Gradle برای بازسازی بستههای APK
اگر از سیستم کنترل بازبینی برای مدیریت کد منبع برنامهتان استفاده میکنید، باید مرحله ساخت Gradle را اضافه کنید تا هربار که Jenkins کد منبع را از سیستم کنترل بازبینی شما بارگیری میکند، باینریهای APK جدیدی ایجاد کند.
مرحله ساختمانی را اضافه کنید تا فرمانهای زیر را در فهرست راهنمای اصلی برنامهتان اجرا کند:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
مرحله ساختمانی را اضافه کنید تا از بسته(های) APK ایجادشده توسط Gradle هنگام آزمایش با Test Lab استفاده کنید. میتوانید از این مسیر بهعنوان <local_server_path> در مثال دستورات پوسته ارائهشده در زیر استفاده کنید، که در آن <AppFolder> پوشه پروژه Android Studio برای برنامه شما است:
<AppFolder>/app/build/outputs/apk
افزودن Test Lab مرحله ساخت به Jenkins
اکنون آمادهاید تا مرحله ساخت را به Jenkins اضافه کنید تا Test Lab را بااستفاده از خط فرمان gcloud اجرا کنید.
برای افزودن مرحله ساخت gcloud
- از صفحه اصلی پروژه، روی پیکربندی کلیک کنید.
در صفحه پیکربندی پروژه، به بخش ساخت پیمایش کنید، و سپس اجرای پوسته را از منو افزودن مرحله ساخت انتخاب کنید.
در پنجره Jenkins Execute shell command (اجرای فرمان پوسته 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 یا در
Google Cloud Storage دستهای در
پروژهتان بررسی کنید. همچنین میتوانید
gsutil دستوری به
دستور پوسته نشاندادهشده در بالا اضافه کنید تا دادههای نتایج آزمایش را در رایانه محلیتان کپی کنید.
برای کسب اطلاعات بیشتر، به
تجزیهوتحلیل نتایج Firebase Test Lab مراجعه کنید.
یکپارچهسازی مداوم با دیگر سیستمهای CI
برای آشنایی با نحوه استفاده از Firebase Test Lab با دیگر سیستمهای CI، اسناد آنها را بررسی کنید: