סקירה כללית של סביבות

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

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

מידע על סביבות

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

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

התהליך של העברת תכונה או גרסה דרך הסביבות האלה לייצור נקרא צינור עיבוד נתונים לפריסה.

דיאגרמה שמציגה את הסביבות שבדרך כלל מרכיבות את פייפליין הפריסה, כולל פיתוח, בדיקה ובקרת איכות, Staging ולבסוף ייצור

סוגי סביבות

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

סביבות פיתוח (dev)

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

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

סביבות בדיקה ובקרת איכות (QA)

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

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

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

סביבות Staging

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

אלה ההבדלים הנפוצים בין סביבת ה-Staging לסביבת הייצור:

  • יכול להיות שבסביבת ה-Staging חסרות תכונות או שילובים מסוימים, וזה עלול לגרום לתופעות לוואי. לדוגמה, יכול להיות שסביבת ה-staging מוגדרת כך שלא יישלחו ממנה אימיילים.

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

סביבות ייצור (prod)

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

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

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

השלבים הבאים