آزمایش کردن با سیستم‌های یکپارچه‌سازی مداوم (CI) را شروع کنید

هنگام توسعه برنامه‌تان بااستفاده از هر سیستم ادغام مداوم (CI)، می‌توانید از Firebase Test Lab استفاده کنید. سیستم‌های ادغام مداوم به شما امکان می‌دهند هربار که به‌روزرسانی‌های کد منبع برنامه‌تان را بررسی می‌کنید، به‌طور خودکار برنامه‌تان را بسازید و آزمایش کنید.

استفاده از Firebase Test Lab با Jenkins CI

این بخش نحوه استفاده از Test Lab با Jenkins CI را شرح می‌دهد.

شرایط لازم

قبل‌از اینکه بتوانید از Firebase Test Lab با Jenkins استفاده کنید، باید مراحل زیر را تکمیل کنید:

  1. gcloud را راه‌اندازی کنید. دستورالعمل‌های استفاده از Firebase Test Lab از خط فرمان gcloud را دنبال کنید تا پروژه Firebase ایجاد کنید و محیط کیت توسعه نرم‌افزار Google Cloud محلی‌تان را پیکربندی کنید.

  2. حساب سرویس ایجاد و آن را مجاز کنید. حساب‌های سرویس مشمول بررسی‌های هرزنامه یا درخواست‌های captcha نیستند، که درغیراین‌صورت می‌توانند ساخت‌های CI شما را مسدود کنند. حساب خدماتی با نقش ویرایشگر در کنسول Google Cloud ایجاد کنید و سپس آن را فعال کنید (برای آشنایی با نحوه انجام این کار، به سند gcloud auth activate-service-account مراجعه کنید).

  3. میاناهای برنامه‌سازی کاربردی لازم را فعال کنید. پس‌از ورود به سیستم بااستفاده از حساب سرویس: در صفحه کتابخانه Google Developers Console API، 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، تنظیمات امنیتی سراسری را پیکربندی کنید تا کنترل دسترسی را اعمال کنید و کاربران را اصالت‌سنجی کنید.

برای پیکربندی تنظیمات امنیتی کلی

  1. به داشبورد Jenkins در سرور خود بروید. برای انجام این کار، به http://<servername>:8080 بروید، که در آن <servername> نام رایانه‌ای است که Jenkins را در آن نصب کرده‌اید.
  2. در داشبورد Jenkins، روی Manage Jenkins (مدیریت Jenkins) کلیک کنید، و سپس روی Configure Global Security (پیکربندی امنیت جهانی) کلیک کنید.
  3. در صفحه پیکربندی امنیت جهانی، روی فعال کردن امنیت کلیک کنید، و سپس روی ذخیره کلیک کنید.

برای اطلاعات بیشتر درباره پیکربندی تنظیمات امنیتی Jenkins، به امنیت سریع و ساده، راه‌اندازی امنیت استاندارد، و ایمن‌سازی Jenkins مراجعه کنید.

ایجاد پروژه Jenkins

سپس، پروژه‌ای برای اجرای آزمایش ادغام مداوم برنامه‌تان با Firebase Test Lab ایجاد کنید.

برای ایجاد پروژه Jenkins

  1. به داشبورد Jenkins در سرورتان پیمایش کنید. برای انجام این کار، به http://<servername>:8080 بروید، که در آن <servername> نام رایانه‌ای است که Jenkins را در آن نصب کرده‌اید.
  2. در داشبورد Jenkins، روی New Item (مورد جدید) کلیک کنید.
  3. نامی برای پروژه‌تان در فیلد نام مورد تایپ کنید:
    • پروژه Freestyle را انتخاب کنید تا پروژه‌ای ایجاد کنید که از یک پیکربندی ساخت استفاده می‌کند.
    • ساخت پروژه چندپیکربندی را انتخاب کنید تا پروژه‌ای ایجاد کنید که روی چندین پیکربندی ساخت مختلف اجرا می‌شود. اگر قصد دارید برنامه‌تان را با پیکربندی‌های ساخت متنوع (چندین زبان، چندین سطح Android API، و غیره) بسازید، پروژه چندپیکربندی بهترین انتخاب است.
  4. روی ذخیره کردن کلیک کنید.

پس‌از ایجاد پروژه، مرورگر وب شما صفحه اصلی پروژه‌تان را نمایش می‌دهد.

افزودن کنترل بازبینی و مراحل ساخت Gradle

این بخش نحوه ادغام Jenkins با سیستم‌های کنترل بازبینی مانند GitHub و نحوه افزودن مراحل ساخت Gradle برای ساخت بسته‌های APK از کد منبع را شرح می‌دهد.

ادغام با GitHub و دیگر سیستم‌های کنترل بازبینی

اگر از GitHub یا سیستم کنترل نسخه دیگری برای مدیریت کد منبع برنامه‌تان استفاده می‌کنید، می‌توانید Jenkins را پیکربندی کنید تا هر بار که به‌روزرسانی‌های برنامه‌تان بررسی می‌شود، ساخت‌های خودکار و آزمایش‌ها را اجرا کند. همچنین می‌توانید Jenkins را پیکربندی کنید تا ساخت‌ها را به‌صورت دوره‌ای اجرا کند.

برای آشنایی با پیکربندی ساخت‌ها در Jenkins، پیکربندی ساخت‌های خودکار را ببینید.

افزودن مراحل ساخت Gradle برای بازسازی بسته‌های APK

اگر از سیستم کنترل بازبینی برای مدیریت کد منبع برنامه‌تان استفاده می‌کنید، باید مرحله ساخت Gradle را اضافه کنید تا هربار که Jenkins کد منبع را از سیستم کنترل بازبینی‌تان بارگیری می‌کند، دودویی‌های APK جدیدی ایجاد شود.

  1. مرحله ساخت را اضافه کنید تا فرمان‌های زیر را در فهرست راهنمای اصلی برای برنامه‌تان اجرا کنید:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. مرحله ساخت را اضافه کنید تا از بسته(های) APK ایجادشده توسط Gradle هنگام آزمایش با Test Lab استفاده کنید. می‌توانید از این مسیر به‌عنوان <local_server_path> در نمونه اسکریپت پوسته ارائه‌شده در زیر استفاده کنید، که در آن <AppFolder> پوشه پروژه Android Studio برای برنامه شما است:

    <AppFolder>/app/build/outputs/apk
    

افزودن مراحل ساخت Test Lab به Jenkins

اکنون آماده‌اید تا مرحله ساخت را به Jenkins اضافه کنید تا Test Lab را بااستفاده از خط فرمان gcloud اجرا کنید.

برای افزودن مرحله ساخت gcloud

  1. از صفحه اصلی پروژه‌تان، روی پیکربندی کلیک کنید.
  2. در صفحه پیکربندی پروژه، به بخش ساخت پیمایش کنید، و سپس اجرای پوسته را از منو افزودن مرحله ساخت انتخاب کنید.

  3. در پنجره فرمان پوسته Jenkins Execute، موارد زیر را وارد کنید، <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 bucket در پروژه‌تان مرور کنید. همچنین می‌توانید فرمان gsutil را به فرمان پوسته نشان‌داده‌شده در بالا اضافه کنید تا داده‌های نتایج آزمایش را در رایانه محلی‌تان کپی کنید. برای کسب اطلاعات بیشتر، تجزیه‌وتحلیل نتایج Firebase Test Lab را ببینید.

ادغام مداوم با دیگر سیستم‌های CI

برای آشنایی با نحوه استفاده از Firebase Test Lab با دیگر سیستم‌های CI، اسناد آن‌ها را بررسی کنید: