אתם יכולים להשתמש ב-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 הנדרשים. אחרי שמתחברים באמצעות חשבון השירות: בדף API Library ב-Google Developers Console, מפעילים את Google Cloud Testing API ואת Cloud Tool Results API. כדי להפעיל את ממשקי ה-API האלה, מקלידים את שמות ה-API בתיבת החיפוש בחלק העליון של המסוף, ואז לוחצים על הפעלת ה-API בדף הסקירה הכללית של ה-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 ואז על Configure Global Security.
- בדף Configure Global Security, לוחצים על Enable security ואז על Save.
מידע נוסף על הגדרת הגדרות אבטחה ל-Jenkins זמין במאמרים Quick and Simple Security, Standard Security Setup ו-Securing Jenkins.
יצירת פרויקט Jenkins
לאחר מכן, יוצרים פרויקט להרצת בדיקות של שילוב רציף של האפליקציה באמצעות Firebase Test Lab.
כדי ליצור פרויקט Jenkins
- עוברים ללוח הבקרה של Jenkins בשרת. כדי לעשות זאת, עוברים אל http://<servername>:8080, כאשר <servername> הוא שם המחשב שבו התקנתם את Jenkins.
- במרכז הבקרה של Jenkins, לוחצים על New Item (פריט חדש).
- מקלידים שם לפרויקט בשדה שם פריט:
- בוחרים באפשרות Freestyle project כדי ליצור פרויקט שמשתמש בהגדרת build אחת.
- בוחרים באפשרות Build multi-configuration project (יצירת פרויקט עם כמה הגדרות) כדי ליצור פרויקט שפועל בכמה הגדרות שונות של בנייה. אם אתם מתכננים ליצור את האפליקציה עם מגוון תצורות של בנייה (כמה לוקאלים, כמה רמות של Android API וכו'), פרויקט עם כמה תצורות הוא הבחירה הטובה ביותר.
- לוחצים על שמירה.
אחרי שיוצרים את הפרויקט, דף הראשי של הפרויקט מוצג בדפדפן האינטרנט.
הוספה של בקרת שינויים ושלבי בנייה של Gradle
בקטע הזה מוסבר איך לשלב את Jenkins עם מערכות לניהול גרסאות כמו GitHub, ואיך להוסיף שלבי בנייה של Gradle כדי לבנות חבילות APK מקוד מקור.
שילוב עם GitHub ומערכות אחרות לניהול גרסאות
אם אתם משתמשים ב-GitHub או במערכת אחרת לניהול גרסאות כדי לנהל את קוד המקור של האפליקציה, אתם יכולים להגדיר את Jenkins להפעיל בנייה אוטומטית ולהריץ בדיקות בכל פעם שמתבצעת התחייבות לעדכונים באפליקציה. אפשר גם להגדיר את Jenkins להרצת בנייה מעת לעת.
מידע על הגדרת גרסאות build ב-Jenkins זמין במאמר בנושא הגדרת גרסאות build אוטומטיות.
הוספת שלבי build של Gradle כדי לבנות מחדש חבילות APK
אם אתם משתמשים במערכת לניהול גרסאות כדי לנהל את קוד המקור של האפליקציה, אתם צריכים לכלול שלב של Gradle build כדי ליצור קובצי APK בינאריים חדשים בכל פעם ש-Jenkins מוריד קוד מקור מהמערכת לניהול גרסאות.
מוסיפים שלב בנייה כדי להריץ את הפקודות הבאות בספרייה הראשית של האפליקציה:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
מוסיפים שלב בנייה כדי להשתמש בחבילות ה-APK שנוצרו על ידי Gradle כשבודקים באמצעות Test Lab. אפשר להשתמש בנתיב הזה כ-<local_server_path> בדוגמה של סקריפט ה-Shell שמופיעה בהמשך, כאשר <AppFolder> היא תיקיית הפרויקט של Android Studio עבור האפליקציה:
<AppFolder>/app/build/outputs/apk
הוספת Test Lab שלבי build ל-Jenkins
עכשיו אפשר להוסיף שלב build ל-Jenkins כדי להריץ את הפקודה Test Lab באמצעות שורת הפקודה של gcloud.
כדי להוסיף שלב בנייה של gcloud
- בדף הראשי של הפרויקט, לוחצים על Configure (הגדרה).
בדף project configuration (הגדרת הפרויקט), גוללים למטה לקטע Build (בנייה) ובתפריט Add build step (הוספת שלב בנייה) בוחרים באפשרות Execute shell (הפעלת מעטפת).
בחלון 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
לפקודת ה-shell שמוצגת למעלה כדי להעתיק את נתוני תוצאות הבדיקה למחשב המקומי.
מידע נוסף זמין במאמר בנושא ניתוח התוצאות של Firebase Test Lab.
אינטגרציה רציפה עם מערכות CI אחרות
כדי ללמוד איך להשתמש ב-Firebase Test Lab עם מערכות CI אחרות, אפשר לעיין במסמכים שלהן: