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

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

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

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

الزامات

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

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

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

  3. فعال کردن APIهای مورد نیاز. پس از ورود به سیستم با استفاده از حساب سرویس: در صفحه کتابخانه API کنسول توسعه‌دهندگان گوگل ، API تست ابری گوگل و API نتایج ابزار ابری را فعال کنید. برای فعال کردن این APIها، نام این APIها را در کادر جستجو در بالای کنسول تایپ کنید و سپس در صفحه نمای کلی آن API، روی فعال کردن API کلیک کنید.

نصب و راه‌اندازی Jenkins

شما می‌توانید Jenkins CI را روی لینوکس یا ویندوز نصب و راه‌اندازی کنید. برخی از جزئیات این راهنما مختص نصب و اجرای Jenkins CI در لینوکس است، از جمله استفاده از اسلش ( / ) در مسیرهای فایل.

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

تنظیمات امنیتی جهانی را پیکربندی کنید

جنکینز هنگام نصب اولیه، احراز هویت کاربر و کنترل دسترسی را پیکربندی نکرده است. قبل از استفاده از جنکینز با Firebase Test Lab ، تنظیمات امنیتی سراسری را برای اعمال کنترل دسترسی و احراز هویت کاربران پیکربندی کنید.

برای پیکربندی تنظیمات امنیتی جهانی

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

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

ایجاد یک پروژه جنکینز

در مرحله بعد، یک پروژه برای اجرای تست ادغام مداوم برنامه خود با Firebase Test Lab ایجاد کنید.

برای ایجاد یک پروژه جنکینز

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

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

کنترل ویرایش و مراحل ساخت Gradle را اضافه کنید

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

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

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

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

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

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

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

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

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

    <AppFolder>/app/build/outputs/apk
    

مراحل ساخت Test Lab را به جنکینز اضافه کنید

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

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

  1. از صفحه اصلی پروژه خود، روی «پیکربندی» کلیک کنید.
  2. در صفحه پیکربندی پروژه ، به پایین اسکرول کنید تا به بخش Build برسید و سپس از منوی Add build step ، گزینه Execute shell را انتخاب کنید.

  3. در پنجره فرمان Jenkins Execute shell ، دستور زیر را وارد کنید و به جای <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، مستندات آنها را بررسی کنید: