דלגו לתוכן

יצירת סביבות

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


  1. פתח את תפריט הנפתח בורר הסביבות בסרגל הניווט העליון של Backend Console.
  2. לחץ על כפתור + צור סביבה.
  3. תופיע חלונית דיאלוג עם אפשרויות ההגדרה הבאות.
  • התפצל מ: בחר את סביבת המקור להתפצלות. רק סביבות עם סטטוס active זמינות כמקורות.
  • שם הסביבה: הזן שם ייחודי לסביבה החדשה (למשל staging, feature-auth, qa-sprint-12). שמות יכולים להכיל רק תווים אלפאנומריים, מקפים וקווים תחתונים.

בחר כיצד לשכפל את מסד הנתונים המקור:

  • Full (סכמה + נתונים): יוצר עותק מלא של מסד הנתונים המקור, כולל כל מבני הטבלאות ונתוני השורות. השתמש בזה כשאתה צריך נתונים ריאליסטיים לבדיקות או QA.
  • System (סכמה בלבד): מעתיק רק את סכמת מסד הנתונים (טבלאות, עמודות, אינדקסים, יחסים, enums, views) ללא נתוני שורות. השתמש בזה לסביבות פיתוח נקיות שבהן תרצה להתחיל עם מערך נתונים ריק.

אופציונלית העתק הגדרות משאבים מסביבת המקור. כל אפשרות נשלטת על ידי תיבת סימון ודורשת את תפקיד ProjectOwner:

  • ספקי אחסון קבצים: העתק הגדרות ספקים (S3, GCS, Azure, Filestack) לסביבה החדשה. כל ספק מועתק מקבל מזהה ייחודי חדש.

  • נתיבי gateway: העתק נתיבי API gateway מותאמים ו-webhooks. זה שומר על הגדרות הניתוב שלך בסביבה החדשה.

  • הגדרות אבטחה: העתק מקורות CORS והגדרות מגבלת קצב. זה מבטיח שהסביבה החדשה יורשת את אותן מדיניות רשת כמו ההורה.

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

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

  1. לחץ על צור סביבה כדי להתחיל את תהליך ההתפצלות.

חלונית התפצלות סביבה עם אפשרויות העתקה


כשאתה יוצר סביבה חדשה, מתרחשת הרצף הבא:

  1. אימות: המערכת מאמתת ששם הסביבה ייחודי וסביבת המקור במצב active.
  2. יצירת רשומה: נוצרת רשומת סביבה חדשה ונרשמת עם הפרויקט במאגר ההגדרות של הפלטפורמה.
  3. שיבוט מסד נתונים: מסד הנתונים PostgreSQL המקור משוכפל. במצב Full כל הנתונים כלולים; במצב System רק הסכמה (מבני טבלאות) מועתקת.
  4. משתמשי מסד נתונים: פרטי גישה מאובטחים חדשים למסד נתונים מסופקים אוטומטית לסביבה המשוכפלת.
  5. רישום הגדרות: הסביבה החדשה מקושרת להגדרות הגלובליות של הפרויקט.
  6. העתקת משאבים: אם נבחר, ספקי קבצים, נתיבי gateway, הגדרות אבטחה ומשתני סביבה מועתקים מהמקור לסביבה החדשה.
  7. הפעלת סטטוס: סטטוס הסביבה עובר ל-active והיא זמינה לשימוש.

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


mutation BranchEnvironment($input: BranchEnvironmentInput!) {
branchEnvironment(input: $input) {
success
message
environment {
id
name
parentId
parentName
branchMode
branchedAt
status
createdAt
updatedAt
}
}
}

Variables:

{
"input": {
"projectId": "f7e4a264-d659-4719-91e8-c2d74654e529",
"name": "staging",
"sourceEnvironment": "master",
"mode": "full",
"copyFileProviders": true,
"copyGatewayRoutes": true,
"copySecurityConfig": false,
"copyEnvironmentVariables": true
}
}

Response:

{
"data": {
"branchEnvironment": {
"success": true,
"message": "Environment created successfully",
"environment": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "staging",
"parentId": "master-env-id",
"parentName": "master",
"branchMode": "full",
"branchedAt": "2026-03-08T20:00:00Z",
"status": "active",
"createdAt": "2026-03-08T20:00:00Z",
"updatedAt": "2026-03-08T20:00:05Z"
}
}
}
}
שדהסוגנדרשתיאור
projectIdStringכןהמזהה הייחודי של הפרויקט
nameStringכןשם לסביבה החדשה
sourceEnvironmentStringכןשם הסביבה להתפצלות ממנה
modeStringכןמצב שיבוט: "full" או "system"
copyFileProvidersBooleanלאהעתק הגדרות ספקי אחסון קבצים
copyGatewayRoutesBooleanלאהעתק נתיבי API gateway מותאמים
copySecurityConfigBooleanלאהעתק הגדרות CORS ומגבלת קצב
copyEnvironmentVariablesBooleanלאהעתק זוגות מפתח-ערך של משתני סביבה
  • יצירת סביבה ללא דגלי העתקה דורשת גישה סטנדרטית לפרויקט.
  • הפעלת כל דגל העתקה (copyFileProviders, copyGatewayRoutes, copySecurityConfig, copyEnvironmentVariables) דורשת את תפקיד ProjectOwner, מכיוון שפעולות אלה כרוכות בהעתקת נתוני הגדרה רגישים.