NOVEMBER 2, 2026

CI/CD לאפליקציות מובייל ב-React Native ו-Flutter: בנייה, חתימה והפצה אוטומטית ב-2026

מדריך מעשי ל-CI/CD לאפליקציות מובייל חוצות פלטפורמות: EAS Build ו-Submit,‏ Fastlane,‏ Codemagic, ‏runners של macOS ב-GitHub Actions, חתימת קוד, TestFlight, גבולות עדכוני OTA ושחרור מדורג.

Omer Shalom

Posted By Omer Shalom

4 דקות קריאה


תשובה קצרה: CI/CD לאפליקציות מובייל מחליף ארבע פעולות ידניות: בניית קובצי iOS ואנדרואיד, חתימה שלהם, שליחה לבודקים ושחרור הדרגתי לחנויות. בפרויקט React Native עם Expo, ‏EAS Build ו-EAS Submit מכסים את רוב העבודה; ב-Flutter או ב-React Native ללא Expo, ההגדרה הנפוצה היא Fastlane על GitHub Actions או Codemagic. החלק הקשה הוא בדרך כלל החתימה.

עיקרי הדברים

  • iOS דורש Mac: בניית iOS רצה על macOS, ודקת macOS ב-runners המנוהלים של GitHub עולה בערך פי עשרה מדקת Linux.
  • החתימה שייכת ל-pipeline: fastlane match שומר תעודות ו-provisioning profiles מוצפנים ב-repo פרטי, כך שה-CI וכל מפתח חותמים עם אותה זהות.
  • לעדכוני OTA יש גבולות: EAS Update ו-Shorebird מעדכנים קוד JavaScript או Dart בלי גרסה חדשה בחנות, אבל שינוי בקוד native עדיין מחייב build חדש.
  • משחררים בשלבים: ב-App Store השחרור המדורג נפרס על שבעה ימים; ב-Google Play הצוות מעלה ידנית את אחוז המשתמשים שמקבלים את העדכון.

ה-pipeline שלב אחרי שלב

pipeline טיפוסי רץ בכל merge ל-main: התקנת תלויות, lint ובדיקות יחידה, בניית ‎.ipa חתום ל-iOS ו-‎.aab לאנדרואיד, והעלאה של שניהם לבודקים. מאוגוסט 2021 Google Play מחייב אפליקציות חדשות לפרסם כ-Android App Bundle עם Play App Signing. ב-TestFlight אפשר להזמין עד 10,000 בודקים חיצוניים וכל build פג אחרי 90 יום; מסלול הבדיקות הפנימי של Play מוגבל ל-100 בודקים, והוא הדרך המהירה למכשירים אמיתיים.

בחירת הכלים

כלימתאים ל-מה הוא עושה
EAS Build + EAS SubmitExpo ו-React Nativeבנייה בענן; מעלה ‎.ipa ל-App Store Connect ו-‎.aab למסלול שנבחר ב-Play
Fastlaneכל טכנולוגיהlanes בקוד פתוח לבנייה, לחתימה עם match ולהעלאה ל-TestFlight ול-Play
CodemagicFlutter,‏ React Native, ‏nativeCI מנוהל על מחשבי Mac עם Apple silicon, מוגדר בקובץ codemagic.yaml
GitHub Actionsכל טכנולוגיהrunners מנוהלים של macOS שמריצים בדרך כלל Fastlane או את ה-EAS CLI

בוא נדבר על הפרויקט שלך

עדכוני OTA, שחרור מדורג ונקודת התחלה

עדכוני OTA חוסכים הכי הרבה זמן, וגם הכי קל לעבור בהם על כללי החנויות. EAS Update מתאים כל עדכון ל-build לפי runtime version, כך שחבילת JavaScript לא נוחתת על קובץ עם קוד native שאינו תואם; Shorebird עושה את אותו הדבר לקוד Dart ב-Flutter. סעיף 2.5.2 בהנחיות של Apple אוסר קוד מורד שמוסיף או משנה פיצ׳רים, ולכן OTA מתאים לתיקוני באגים, טקסטים ועיצוב, ופיצ׳רים חדשים עוברים בדיקת חנות.

את השחרור המדורג של Apple אפשר להשהות עד 30 יום בסך הכול. עצירה של rollout ב-Google Play מונעת התקנות חדשות אבל משאירה על הגרסה את מי שכבר עדכן, כך שהתיקון הוא גרסה חדשה. ניטור קריסות באותם ימים מזין גם את העבודה על onboarding ושימור משתמשים.

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

שאלות נפוצות

האם צריך Mac כדי לבנות אפליקציית iOS ב-CI?

בניית iOS דורשת macOS ו-Xcode, אבל EAS Build,‏ Codemagic וה-runners של GitHub מספקים Mac בענן, ו-EAS Submit מעלה גרסאות iOS גם מ-Windows או מ-Linux.

אפשר לעדכן אפליקציית React Native בלי בדיקה של Apple?

שינויי JavaScript ונכסים עוברים דרך EAS Update, כל עוד אינם מוסיפים או משנים פיצ׳רים (סעיף 2.5.2 בהנחיות של Apple). שינוי בקוד native מחייב build חדש ובדיקה רגילה.

EAS או Fastlane?

פרויקט Expo מקבל מ-EAS בנייה, תעודות והגשה כמעט בלי הגדרות. Fastlane מתאים ל-Flutter, ל-React Native ללא Expo או לצוות שרוצה שליטה מלאה על runners משלו, ואפשר לשלב ביניהם.

מה ההבדל בין TestFlight לבדיקות הפנימיות של Google Play?

TestFlight מאפשר עד 10,000 בודקים חיצוניים וכל build זמין 90 יום. הבדיקות הפנימיות של Play מוגבלות ל-100 בודקים ומתאימות לבדיקה מוקדמת ומהירה.

אולי תאהבו גם

ספרו לנו מה אתם צריכים

אחד המהנדסים שלנו יחזור אליכם תוך 24 שעות.