Zum Inhalt springen

Umgebungen erstellen

Du kannst eine neue Umgebung durch Branching von einer bestehenden aktiven Umgebung erstellen. Der Prozess klont die Quelldatenbank und kopiert optional Konfigurationsressourcen.


  1. Öffne das Umgebungs-Selector-Dropdown in der oberen Navigationsleiste der Backend-Konsole.
  2. Klicke auf + Umgebung erstellen.
  3. Ein Modaldialog mit folgenden Konfigurationsoptionen erscheint.
  • Branch von: Wähle die Quellumgebung. Nur Umgebungen mit Status active sind verfügbar.
  • Umgebungsname: Eindeutiger Name (z.B. staging, feature-auth, qa-sprint-12). Nur alphanumerische Zeichen, Bindestriche und Unterstriche.
  • Full (Schema + Daten): Vollständige Kopie inkl. Tabellen und Zeilendaten. Für realistische Testdaten.
  • System (nur Schema): Nur Schema (Tabellen, Spalten, Indizes, Beziehungen, Enums, Views) ohne Zeilendaten. Für leere Entwicklungsumgebungen.

Optional mit ProjectOwner-Rolle:

  • Datei-Speicher-Provider: S3, GCS, Azure, Filestack-Konfigurationen.
  • Gateway-Routen: Custom API Gateway Routen und Webhooks.
  • Sicherheitsconfig: CORS-Origins und Rate-Limit-Einstellungen.
  • Umgebungsvariablen: Key-Value-Paare.

Hinweis: Authentifizierungs-Provider sind aus Sicherheitsgründen ausgeschlossen.

  1. Klicke Umgebung erstellen zum Starten des Branching-Prozesses.

Modal zur Umgebungserstellung


  1. Validierung: Eindeutigkeit des Namens, Quellumgebung active.
  2. Datensatzerstellung: Neuer Umgebungsdatensatz im Konfigurationsstore.
  3. Datenbankklonung: PostgreSQL-Klon (Full oder System).
  4. Datenbankbenutzer: Neue sichere Credentials.
  5. Konfigurationsregistrierung: Verknüpfung mit Projekteinstellungen.
  6. Ressourcenkopie: Bei Auswahl: Provider, Routen, Config, Variablen.
  7. Statusaktivierung: Übergang zu active.

Bei Fehlern: Automatischer 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"
}
}
}
}
FeldTypPflichtBeschreibung
projectIdStringJaProjekt-ID
nameStringJaName der neuen Umgebung
sourceEnvironmentStringJaQuellumgebung
modeStringJa"full" oder "system"
copyFileProvidersBooleanNeinDatei-Provider kopieren
copyGatewayRoutesBooleanNeinGateway-Routen kopieren
copySecurityConfigBooleanNeinCORS und Rate Limits kopieren
copyEnvironmentVariablesBooleanNeinUmgebungsvariablen kopieren
  • Ohne Kopier-Flags: Standard-Projektzugriff.
  • Mit Kopier-Flags: ProjectOwner-Rolle erforderlich.