Przejdź do głównej zawartości

Tworzenie środowisk

Możesz utworzyć nowe środowisko rozgałęziając z dowolnego istniejącego aktywnego środowiska. Proces klonuje bazę źródłową i opcjonalnie kopiuje zasoby konfiguracyjne, dając izolowaną przestrzeń do rozwoju lub testowania zmian.


  1. Otwórz listę rozwijaną Selektor środowisk w górnym pasku nawigacji Konsoli Backend.
  2. Kliknij przycisk + Utwórz środowisko.
  3. Pojawi się okno modalne z następującymi opcjami konfiguracji.
  • Rozgałęź z: Wybierz środowisko źródłowe do rozgałęzienia. Tylko środowiska ze statusem active są dostępne jako źródła.
  • Nazwa środowiska: Wprowadź unikalną nazwę dla nowego środowiska (np. staging, feature-auth, qa-sprint-12). Nazwy mogą zawierać tylko znaki alfanumeryczne, myślniki i podkreślenia.

Wybierz sposób klonowania bazy źródłowej:

  • Full (schemat + dane): Tworzy pełną kopię bazy źródłowej, w tym wszystkie struktury tabel i dane wierszy. Użyj, gdy potrzebujesz realistycznych danych do testów lub QA.
  • System (tylko schemat): Kopiuje tylko schemat bazy danych (tabele, kolumny, indeksy, relacje, enumy, widoki) bez danych wierszy. Użyj dla czystych środowisk deweloperskich z pustym zbiorem danych.

Opcjonalnie skopiuj konfiguracje zasobów ze środowiska źródłowego. Każda opcja jest kontrolowana checkboxem i wymaga roli ProjectOwner:

  • Dostawcy magazynu plików: Skopiuj konfiguracje dostawców (S3, GCS, Azure, Filestack) do nowego środowiska. Każdy skopiowany dostawca otrzymuje nowy unikalny identyfikator.
  • Trasy gateway: Skopiuj niestandardowe trasy API gateway i webhooki. Zachowuje konfigurację routingu w nowym środowisku.
  • Konfiguracja bezpieczeństwa: Skopiuj origins CORS i ustawienia rate limit. Zapewnia dziedziczenie tych samych polityk sieciowych co rodzic.
  • Zmienne środowiskowe: Skopiuj pary klucz-wartość zmiennych środowiskowych. Umożliwia start nowego środowiska z tymi samymi sekretami konfiguracyjnymi co źródło.

Uwaga: Dostawcy uwierzytelniania są celowo wykluczeni z opcji kopiowania ze względów bezpieczeństwa. Sekrety klienta OAuth, dane Cognito i inne klucze uwierzytelniania muszą być konfigurowane niezależnie per środowisko, aby zapobiec przypadkowemu udostępnianiu.

  1. Kliknij Utwórz środowisko, aby rozpocząć proces rozgałęziania.

Okno modalne rozgałęziania środowiska z opcjami kopiowania


Przy tworzeniu nowego środowiska następuje sekwencja:

  1. Walidacja: System weryfikuje unikalność nazwy i status active środowiska źródłowego.
  2. Tworzenie rekordu: Tworzony jest nowy rekord środowiska i rejestrowany w magazynie konfiguracji platformy.
  3. Klonowanie bazy: Baza PostgreSQL źródłowa jest klonowana. W trybie Full — wszystkie dane; w trybie System — tylko schemat (struktury tabel).
  4. Użytkownicy bazy: Nowe bezpieczne dane dostępowe bazy są automatycznie provisionowane dla sklonowanego środowiska.
  5. Rejestracja konfiguracji: Nowe środowisko jest łączone z globalnymi ustawieniami projektu.
  6. Kopiowanie zasobów: Jeśli wybrano — dostawcy plików, trasy gateway, konfiguracja bezpieczeństwa i zmienne środowiskowe są kopiowane ze źródła do nowego środowiska.
  7. Aktywacja statusu: Status środowiska przechodzi na active i staje się dostępny.

W razie błędu dowolnego kroku system wykonuje automatyczny rollback: sklonowana baza i powiązane dane dostępowe są usuwane, aby nie pozostały osierocone zasoby.


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"
}
}
}
}
PoleTypWymaganeOpis
projectIdStringTakUnikalny identyfikator projektu
nameStringTakNazwa nowego środowiska
sourceEnvironmentStringTakNazwa środowiska do rozgałęzienia
modeStringTakTryb klonowania: "full" lub "system"
copyFileProvidersBooleanNieKopiuj konfiguracje dostawców magazynu plików
copyGatewayRoutesBooleanNieKopiuj niestandardowe trasy API gateway
copySecurityConfigBooleanNieKopiuj ustawienia CORS i rate limit
copyEnvironmentVariablesBooleanNieKopiuj pary klucz-wartość zmiennych środowiskowych
  • Tworzenie środowiska bez flag kopiowania wymaga standardowego dostępu do projektu.
  • Włączenie dowolnej flagi kopiowania (copyFileProviders, copyGatewayRoutes, copySecurityConfig, copyEnvironmentVariables) wymaga roli ProjectOwner, ponieważ te operacje obejmują kopiowanie wrażliwych danych konfiguracyjnych.