התחלת בדיקות עם מערכות אינטגרציה רציפה (CI)

אפשר להשתמש ב-Firebase Test Lab כשמפתחים אפליקציה באמצעות כל מערכת אינטגרציה רציפה (CI). מערכות של שילוב רצוף מאפשרות לכם ליצור ולבדוק את האפליקציה באופן אוטומטי בכל פעם שאתם שולחים עדכונים לקוד המקור של האפליקציה.

שימוש ב-Firebase Test Lab עם Jenkins CI

בקטע הזה נסביר איך להשתמש ב-Test Lab עם Jenkins CI.

דרישות

כדי להשתמש ב-Firebase Test Lab עם Jenkins, צריך לבצע את השלבים הבאים:

  1. מגדירים את gcloud. פועלים לפי ההוראות במאמר שימוש ב-Firebase Test Lab בשורת הפקודה של gcloud כדי ליצור פרויקט Firebase ולהגדיר את סביבת ה-SDK המקומית של Google Cloud.

  2. יצירה והרשאה של חשבון שירות חשבונות שירות לא כפופים לבדיקות ספאם או להנחיות של captcha, שעלולות לחסום את גרסאות ה-build שלכם ב-CI. יוצרים חשבון שירות עם התפקיד עריכה במסוף Google Cloud ומפעילים אותו (במסמכי העזרה של gcloud auth activate-service-account מוסבר איך עושים את זה).

  3. מפעילים את ממשקי ה-API הנדרשים. אחרי שמתחברים באמצעות חשבון השירות: בדף API Library ב-Google Developers Console, מפעילים את Google Cloud Testing API ואת Cloud Tool Results API. כדי להפעיל את ממשקי ה-API האלה, מקלידים את שמות ממשקי ה-API האלה בתיבת החיפוש בחלק העליון של המסוף, ואז לוחצים על Enable API (הפעלת ה-API) בדף הסקירה הכללית של ה-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 ואז על Configure Global Security.
  3. בדף Configure Global Security, לוחצים על Enable security ואז על Save.

למידע נוסף על הגדרת הגדרות האבטחה של Jenkins, ראו אבטחה מהירה ופשוטה, הגדרת אבטחה רגילה ואבטחת Jenkins.

יצירת פרויקט ב-Jenkins

בשלב הבא, יוצרים פרויקט להרצת בדיקות אינטגרציה רציפה של האפליקציה באמצעות Firebase Test Lab.

כדי ליצור פרויקט Jenkins

  1. עוברים למרכז הבקרה של Jenkins בשרת. כדי לעשות זאת, עוברים אל http://<servername>:8080, כאשר <servername> הוא שם המחשב שבו התקנתם את Jenkins.
  2. במרכז הבקרה של Jenkins, לוחצים על New Item.
  3. מקלידים שם לפרויקט בשדה Item name:
    • בוחרים באפשרות Freestyle project כדי ליצור פרויקט שמשתמש בהגדרת build אחת.
    • בוחרים באפשרות Build multi-configuration project כדי ליצור פרויקט שפועל במספר הגדרות build שונות. אם אתם מתכננים לפתח את האפליקציה עם מגוון הגדרות build (מספר אזורים גיאוגרפיים, מספר רמות של Android API וכו'), הפרויקט עם הגדרות build מרובות הוא הבחירה הטובה ביותר.
  4. לוחצים על שמירה.

אחרי יצירת הפרויקט, דפדפן האינטרנט יציג את הדף הראשי של הפרויקט.

הוספת בקרת גרסאות ושלבי build ב-Gradle

בקטע הזה נסביר איך לשלב את Jenkins עם מערכות לבקרת גרסאות, כמו GitHub, ואיך להוסיף שלבי build ב-Gradle כדי ליצור חבילות APK מקוד מקור.

שילוב עם GitHub ומערכות אחרות לניהול גרסאות

אם אתם משתמשים ב-GitHub או במערכת אחרת לבקרת גרסאות כדי לנהל את קוד המקור של האפליקציה, תוכלו להגדיר את Jenkins להריץ גרסאות build אוטומטיות ולבצע בדיקות בכל פעם שמעדכנים את האפליקציה. אפשר גם להגדיר את Jenkins להריץ גרסאות build מדי פעם.

במאמר הגדרת גרסאות build אוטומטיות מוסבר איך מגדירים גרסאות build ב-Jenkins.

הוספת שלבי build ב-Gradle כדי ליצור מחדש חבילות APK

אם אתם משתמשים במערכת לניהול גרסאות כדי לנהל את קוד המקור של האפליקציה, עליכם לכלול שלב build ב-Gradle כדי ליצור קובצי APK בינאריים חדשים בכל פעם ש-Jenkins מוריד את קוד המקור ממערכת בקרת הגרסאות.

  1. מוסיפים שלב build כדי להריץ את הפקודות הבאות בספרייה הראשית של האפליקציה:

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

  2. מוסיפים שלב build כדי להשתמש בחבילות ה-APK שנוצרו על ידי Gradle בזמן הבדיקה באמצעות Test Lab. אפשר להשתמש במסלול הזה בתור <local_server_path> בדוגמה של סקריפט המעטפת שמופיעה בהמשך, כאשר <AppFolder> היא תיקיית הפרויקט ב-Android Studio של האפליקציה:

    <AppFolder>/app/build/outputs/apk
    

הוספת שלבי build של Test Lab ל-Jenkins

עכשיו אפשר להוסיף שלב build ל-Jenkins כדי להריץ את Test Lab באמצעות שורת הפקודה של gcloud.

כדי להוסיף שלב build של gcloud

  1. בדף הראשי של הפרויקט, לוחצים על Configure (הגדרה).
  2. בדף project configuration, גוללים למטה לקטע Build ובוחרים באפשרות Execute shell בתפריט Add build step.

  3. בחלון 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 לפקודת המעטפת שמוצגת למעלה כדי להעתיק את נתוני תוצאות הבדיקה למחשב המקומי. מידע נוסף זמין במאמר ניתוח התוצאות של Firebase Test Lab.

אינטגרציה רציפה עם מערכות CI אחרות

במאמרים הבאים מוסבר איך משתמשים ב-Firebase Test Lab עם מערכות CI אחרות: