דלגו לתוכן

סביבות

תכונת הסביבות מספקת התפצלות דומה ל-Git לכל ה-backend שלך. כל סביבה היא עותק מבודד לחלוטין של האפליקציה שלך — כולל מסד הנתונים שלה, סכמת API, תפקידים, ספקי קבצים, נתיבי gateway והגדרות אבטחה — ומאפשרת לך לפתח, לבדוק ולבצע staging לשינויים ללא השפעה על נתוני ייצור.

כל פרויקט מתחיל בסביבת master אחת. משם תוכל לבצע התפצלות לסביבות חדשות שיורשות את סכמת מסד הנתונים (ואופציונלית נתונים) מכל סביבה קיימת. כל ענף פועל באופן עצמאי: שינויים שבוצעו בסביבה אחת לא מתפשטים לאחרות עד שתבצע merge במפורש.


  • בידוד סביבות: לכל סביבה יש מסד נתונים PostgreSQL משלה, המבטיח הפרדת נתונים מלאה בין ענפים.
  • מצבי ענף: בעת יצירת סביבה חדשה, תבחר בין אסטרטגיות שיבוט Full (סכמה + נתונים) או System (סכמה בלבד).
  • העתקת הגדרות: ספקי אחסון קבצים, נתיבי gateway, הגדרות אבטחה ומשתני סביבה יכולים להיות מועתקים אופציונלית מסביבת המקור במהלך ההתפצלות.
  • מחזור חיים של סטטוס: סביבות עוברות בין מצבים מוגדרים — active, branching, merging, error ו-archived — כדי למנוע פעולות מתנגשות.
  • יחסי הורה-ילד: סביבות שומרות על מבנה עץ שמעקב אחר השושלת עבור פעולות diff ו-merge.
  • Schema Diff: השווה את סכמות מסד הנתונים של כל שתי סביבות באמצעות סמנטיקת diff קדימה בלבד. ראה Environment Diff.
  • Merge: החל שינויי סכמה מסביבה אחת לאחרת עם גיבוי אוטומטי, יישום שינויים סלקטיבי (cherry-pick) ו-DDL טרנזקציוני. ראה Environment Merge.
  • גיבויים: גיבויים אוטומטיים לפני merge וגיבויים ידניים מאוחסנים ב-S3, עם אפשרות לשחזור לכל סביבת יעד — כולל סביבות שנמחקו. ראה Backups.
  • היסטוריית מיגרציה: מסלול ביקורת מלא של כל פעולות ה-merge, כולל המשתמש שיישם כל מיגרציה, חותמת זמן והשינויים הספציפיים שהוחלו.

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

משאבמוגבל לכל סביבה
טבלאות וסכמת מסד נתוניםכן
API Explorer (GraphQL)כן
SQL Playgroundכן
גישה מבוססת תפקידיםכן
ספקי אחסון קבציםכן
ספקי אימותכן
API Keysכן
נתיבי API Gateway מותאמיםכן
הגדרות אבטחה (CORS, Rate Limits)כן
משתני סביבהכן
אינטגרציותכן

הערה: החלפת סביבות מפעילה טעינה מחדש מלאה של ההקשר. הקשר environment מופץ בכל שירותי ה-backend של הפלטפורמה כדי להבטיח שכל בקשה נפתרת מול מסד הנתונים וההגדרות הנכונים.


מערכת הסביבות מיועדת לספק בידוד ברמת ארגון בין שלבי הפיתוח שלך:

  1. בידוד אחסון: כל סביבה מגובה במסד נתונים ייעודי. זה מבטיח שבאג או פעולת נתונים בסביבת פיתוח לעולם לא יכולים להשפיע על נתוני ייצור.
  2. טווח הגדרות: כל ההגדרות — מהמפתחות API ועד מדיניות אבטחה — מנוהלות באופן עצמאי לכל סביבה. שינוי מדיניות CORS ב-”Staging” לא ישפיע על “Production”.
  3. הקשר פלטפורמה רחבה: הסביבה הנוכחית מופצת אוטומטית בכל הפלטפורמה. בין אם אתה גולש בקבצים, מריץ שאילתות SQL או מבצע קריאות API, Archie Core מבטיח שאתה מתקשר עם משאבי הסביבה הנכונה.