שיטות מומלצות להפצת אפליקציות ל-Android לבודקי QA באמצעות CI/CD

במאמר הזה מוסברות שיטות מומלצות לשימוש ב-Firebase App Distribution כדי ליצור תהליכי עבודה של בדיקות לפני השחרור ב-Android, שניתן לשחזר ולקיים בסביבת CI/CD. הפתרונות כוללים את Gradle ו-fastlane, אבל כדי להעניק לכם גמישות רבה יותר, אנחנו כוללים גם פתרונות שזמינים דרך Firebase המסוף, Firebase CLI ו-App Distribution API ציבורי של Firebase. בנוסף, אנחנו מתארים את המגבלות על גרסאות ועל בודקים, כדי שתוכלו לתכנן מראש חוויה אופטימלית.

אם אתם משתמשים גם בפלטפורמות של אפל, כדאי לעיין במאמר שיטות מומלצות להפצת אפליקציות לאפל לבודקי QA באמצעות CI/CD ו-fastlane.

לפני שמתחילים

לפני שמיישמים את השיטות המומלצות שמתוארות במאמר הזה, חשוב להפעיל את App Distribution לכל אפליקציה במסוף Firebase. אם לא הפעלתם את App Distribution, תוצג שגיאה 404.

כדי להפעיל את App Distribution:

  1. פותחים את הדף App Distribution במסוף Firebase.
  2. בוחרים את האפליקציה ל-Android.
  3. לוחצים על Get Started.

קובצי Android App Bundle‏ (AAB) הופכים לפורמט החבילה הנפוץ ביותר ב-Android, ולכן מומלץ להגדיר את האפשרות להפצת קובצי AAB לבודקים על ידי קישור אל Google Play.

אוטומציה של תהליך העבודה של בדיקות טרום-השקה באמצעות צינור עיבוד נתונים של CI/CD

אם אתם רוצים להפוך את תהליך הבנייה וההפצה של אפליקציות לבוחנים לאוטומטי, ואתם משתמשים ב-CI/CD, מומלץ להשתמש ב-fastlane או ב-Gradle. אפשרות נוספת היא להשתמש ב-Firebase CLI, שמאפשר גישה למגוון רחב של מוצרי Firebase.

שימוש ב-fastlane

אפשר לשלב את App Distribution בצינור ה-CI/CD באמצעות fastlane, כלי בקוד פתוח שמבצע אוטומציה של בנייה ושחרור של אפליקציות ל-iOS ול-Android. כשיוצרים את הגרסאות האחרונות ומפיצים אותן לבודקים באופן אוטומטי, הבודקים תמיד מקבלים את גרסת הבדיקה העדכנית ביותר של האפליקציה.

במאמר הפצת אפליקציות ל-Android לבודקים באמצעות fastlane מוסבר איך לשלב את App Distribution עם fastlane.

שימוש ב-Gradle

משתמשים ב-Gradle כדי לשלב את App Distribution בתהליך ה-build של Android באמצעות הפלאגין של App Distribution Gradle. התוסף מאפשר לציין את הבודקים ואת הערות הגרסה בקובץ build.gradle של האפליקציה, וכך להגדיר הפצות לסוגים שונים של גרסאות build ולוריאציות של האפליקציה.

במאמר הפצת אפליקציות Android לבודקים באמצעות Gradle מוסבר איך לשלב את App Distribution עם Gradle.

שימוש ב-Firebase CLI

משתמשים בכלים של Firebase CLI ש-App Distribution מספקת כדי להפיץ גרסאות build לבודקים באופן פרוגרמטי. אפשר לציין בודקים ונתוני גרסה לגרסת build.

מפיצים את הגרסה האחרונה של Android על ידי ציון מזהה האפליקציה ב-Firebase, ואפשר גם להוסיף הערה על הגרסה וקובץ עם כתובות האימייל של הבודקים:

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

מידע נוסף על שימוש ב-Firebase CLI כדי להפוך את תהליך הבנייה לאוטומטי זמין במאמר הפצת אפליקציות ל-Android לבודקים באמצעות Firebase CLI.

שימוש בפרטי כניסה לשירות לצורך אימות

משתמשים בApp Distribution fastlane plugin, ב-Gradle plugin או ב-Firebase CLI עם חשבונות שירות. חשבון שירות הוא סוג של חשבון Google שמייצג אפליקציות (בניגוד למשתמשים). מערכת ה-CI יכולה להשתמש בחשבונות שירות כדי להריץ את עומסי העבודה App Distribution. מידע נוסף זמין במאמר אימות באמצעות חשבון שירות.

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

חשוב לזכור את מגבלות ההפצה

App Distribution תומך במקסימום של 1,000 גרסאות לכל אפליקציה. כלומר, אם חורגים ממגבלת הגרסאות, App Distribution מוחק אוטומטית את הגרסאות הכי ישנות שמעל המגבלה. כאן אפשר לקרוא על ניהול מגבלות על פרסום אפליקציות

הוספת אותה קבוצת בודקים לכמה גרסאות

אם רוצים להוסיף מספר גדול של בודקים לגרסאות, אפשר להשתמש בפונקציונליות של App Distribution לניהול בודקים בכמות גדולה.

מומלץ להשתמש בקבוצות כדי להוסיף את אותם בודקים לכמה גרסאות. קבוצה פועלת כרשימת בקרת גישה. כשמסירים בודק מקבוצה, הוא מאבד את הגישה לכל הגרסאות שמופצות לקבוצה הזו. מידע נוסף על הוספה והסרה של בודקים מקבוצה

אם יש לכם הרבה בודקים לניהול, אתם יכולים להוסיף ולמחוק בודקים בכמות גדולה באמצעות מסוף Firebase. כדי להוסיף ולהסיר בודקים באופן אוטומטי, אפשר להשתמש ב-Firebase CLI,‏ fastlane,‏ Gradle או ב-Firebase App Distribution API הציבורי.

חשוב לזכור את המגבלות על בודקים

App Distribution מגביל את מספר הבודקים שאפשר להוסיף לפרויקט Firebase או לקבוצת App Distribution. אם תחרגו מהמגבלות האלה, לא תוכלו להפיץ את האפליקציה לבודקים נוספים. מידע נוסף על מגבלות על בודקים

איך מאפשרים לבודקים פוטנציאליים להירשם לבדיקות

כדי להפיץ את האפליקציה ליותר בודקים בקלות, מומלץ להשתמש בקישורי הזמנה. קישור להזמנה הוא כתובת URL ייחודית שמאפשרת לבודקים להזין את כתובות האימייל שלהם כדי להירשם לבדיקת אפליקציה. אם מאפשרים למשתמשים להוסיף את עצמם לרשימת בודקי האפליקציה, אפשר להגדיל את בסיס הבודקים הפנימיים בצורה חלקה.

מקרים לשימוש בקישורי הזמנה כוללים תוכניות dogfooding בחברות, ארגונים עם צוותי QA גדולים וקבוצות מפתחים שרוצים שלקוחות פרטיים יוכלו לשלוט בגישת הבודקים.

מומלץ ליצור קישור להזמנה לקבוצה. כל בודק שנרשם באמצעות קישור ההזמנה יתווסף אוטומטית לגרסאות הבאות.

מידע נוסף זמין במאמרים יצירת קישורים להזמנה והוספה והסרה של בודקים מקבוצה.

מוודאים שהבודקים בודקים את הגרסה שחשובה לכם

כשמעלים גרסה חדשה, הבודקים מקבלים על כך הודעה באימייל. כדי להשלים את ההודעה הזו, אפשר להשתמש בתכונות הבאות – קישורי גרסה והתראות בתוך האפליקציה – כדי לוודא שהבודקים בודקים את גרסת האפליקציה הספציפית שחשובה לכם:

  • קישורי גרסה: אפשר להשתמש בתכונה הזו כשרוצים לשתף גרסה ספציפית עם בודקים. מידע על שימוש בקישורים להפצה זמין במאמר הפצת אפליקציות ל-Android לבודקים באמצעות מסוף Firebase. הקישורים האלה זמינים גם בכלי שורת הפקודה (CLI) של Firebase,‏ fastlane ו-Gradle, לשימוש עם כלי האוטומציה שלכם.
  • התראות בתוך האפליקציה: כדאי להשתמש בהתראות האלה כשרוצים לוודא שהבודקים בודקים את הגרסה העדכנית של האפליקציה. אם משלבים את Firebase App Distribution Android SDK, אפשר להציג התראות ישירות בתוך האפליקציה לבודקים כשגרסאות חדשות של האפליקציה זמינות. במאמר איך מודיעים לבודקים על גרסאות build חדשות מוסבר איך להוסיף התראות בתוך האפליקציה.

הסרה אוטומטית של הגישה לבודקים שעוזבים את החברה

אחרי שהתחלתם להשתמש בתהליך הבדיקות הפנימיות של CI/CD, אתם צריכים לוודא שלאנשים שעוזבים את החברה אין יותר גישה לגרסאות הפנימיות של האפליקציה. כדי לעזור לכם לנהל את הגישה של הבודקים לגרסאות ה-build, ב-App Distribution יש את האפשרויות הבאות: