אתם יכולים להשתמש ב-Firebase Test Lab כשאתם מפתחים את האפליקציה באמצעות כל מערכת של שילוב רציף (CI). מערכות של אינטגרציה רציפה (CI) מאפשרות לכם לבנות ולבדוק את האפליקציה באופן אוטומטי בכל פעם שאתם מעדכנים את קוד המקור של האפליקציה.
שימוש ב-Firebase Test Lab עם Jenkins CI
בקטע הזה מוסבר איך להשתמש ב-Test Lab עם Jenkins CI.
דרישות
כדי להשתמש ב-Firebase Test Lab עם Jenkins, צריך לבצע את הפעולות הבאות:
מגדירים את gcloud. כדי ליצור פרויקט ב-Firebase ולהגדיר את סביבת ה-SDK המקומית של Google Cloud, פועלים לפי ההוראות במאמר שימוש ב-Firebase Test Lab משורת הפקודה של gcloud.
יוצרים חשבון שירות ונותנים לו הרשאה. חשבונות שירות לא כפופים לבדיקות ספאם או לבקשות לאימות באמצעות CAPTCHA, שעלולות לחסום את ה-builds של ה-CI. יוצרים חשבון שירות עם התפקיד עריכה במסוף Google Cloud ומפעילים אותו (במסמכי התיעוד של gcloud auth activate-service-account מוסבר איך עושים את זה).
מפעילים את ממשקי ה-API הנדרשים. אחרי שמתחברים באמצעות חשבון השירות: בדף ספריית ה-API של Google Developers Console, מפעילים את Google Cloud Testing API ואת Cloud Tool Results API. כדי להפעיל את ממשקי ה-API האלה, מקלידים את השמות שלהם בתיבת החיפוש שבחלק העליון של המסוף, ואז לוחצים על Enable API בדף הסקירה הכללית של ה-API.
התקנה והגדרה של Jenkins
אתם יכולים להתקין ולהגדיר את Jenkins CI ב-Linux או ב-Windows. חלק מהפרטים במדריך הזה ספציפיים להתקנה ולהפעלה של Jenkins CI ב-Linux, כולל השימוש בלוכסנים (/) בנתיבי קבצים.
כדי להוריד ולהתקין את Jenkins במחשב עם Linux או Windows, פועלים לפי ההוראות במאמר Installing Jenkins. אחרי שמתקינים את Jenkins, פועלים לפי ההוראות במאמר Starting and Accessing Jenkins כדי להשלים את ההגדרה ולגשת ללוח הבקרה של Jenkins.
קביעת הגדרות אבטחה גלובליות
כשמתקינים את Jenkins בפעם הראשונה, לא מוגדרים בו אימות משתמשים ובקרת גישה. לפני שמשתמשים ב-Jenkins עם Firebase Test Lab, צריך להגדיר את הגדרות האבטחה הגלובליות כדי לאכוף את בקרת הגישה ולאמת את המשתמשים.
כדי לקבוע הגדרות אבטחה גלובליות
- עוברים ללוח הבקרה של Jenkins בשרת. כדי לעשות זאת, עוברים אל http://<servername>:8080, כאשר <servername> הוא שם המחשב שבו התקנתם את Jenkins.
- בלוח הבקרה של Jenkins, לוחצים על Manage Jenkins ואז על Configure Global Security.
- בדף Configure Global Security, לוחצים על Enable security ואז על Save.
מידע נוסף על קביעת הגדרות האבטחה של Jenkins זמין במאמרים אבטחה מהירה ופשוטה, הגדרת אבטחה רגילה ואבטחת Jenkins.
יצירת פרויקט ב-Jenkins
עכשיו יוצרים פרויקט להרצת בדיקות אינטגרציה רציפות של האפליקציה באמצעות Firebase Test Lab.
כדי ליצור פרויקט Jenkins:
- עוברים ללוח הבקרה של Jenkins בשרת. כדי לעשות זאת, עוברים אל http://<servername>:8080, כאשר <servername> הוא שם המחשב שבו התקנתם את Jenkins.
- בלוח הבקרה של Jenkins, לוחצים על New Item.
- מקלידים שם לפרויקט בשדה Item name:
- בוחרים באפשרות Freestyle project כדי ליצור פרויקט שמשתמש בתצורת build אחת.
- בוחרים באפשרות Build multi-configuration project כדי ליצור פרויקט שפועל בכמה תצורות build שונות. אם אתם מתכננים ליצור את האפליקציה עם מגוון תצורות build (כמה לוקאלים, כמה רמות Android API וכו'), פרויקט עם כמה תצורות הוא הבחירה הטובה ביותר.
- לוחצים על שמירה.
אחרי שיוצרים את הפרויקט, הדף הראשי של הפרויקט מופיע בדפדפן האינטרנט.
הוספת שלבי בקרת גרסאות ו-Gradle build
בקטע הזה נסביר איך לשלב את Jenkins עם מערכות בקרת גרסאות כמו GitHub, ואיך להוסיף שלבי build של Gradle כדי ליצור חבילות APK מקוד מקור.
שילוב עם GitHub ומערכות אחרות לבקרת גרסאות
אם אתם משתמשים ב-GitHub או במערכת אחרת לבקרת גרסאות כדי לנהל את קוד המקור של האפליקציה, אתם יכולים להגדיר את Jenkins כך שיריץ גרסאות build אוטומטיות ובדיקות בכל פעם שמתבצעת בדיקה של עדכונים לאפליקציה. אפשר גם להגדיר את Jenkins כך שיריץ גרסאות build באופן תקופתי.
איך מגדירים גרסאות build אוטומטיות ב-Jenkins
הוספת שלבי build של Gradle כדי לבנות מחדש חבילות APK
אם אתם משתמשים במערכת בקרת גרסאות כדי לנהל את קוד המקור של האפליקציה, אתם צריכים לכלול שלב של גרסת build של Gradle כדי ליצור קובצי APK בינאריים חדשים בכל פעם ש-Jenkins מוריד קוד מקור ממערכת בקרת הגרסאות.
מוסיפים שלב build כדי להריץ את הפקודות הבאות בספרייה הראשית של האפליקציה:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
מוסיפים שלב 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:
- בדף הראשי של הפרויקט, לוחצים על Configure (הגדרה).
בדף project configuration, גוללים למטה לקטע Build ובוחרים באפשרות Execute shell מהתפריט Add build step.
בחלון 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 אחרות, עיינו במסמכים שלהן: