Umgebungsvariablen verwalten
Das Hardcodieren sensibler Daten – wie API-Schlüssel, Datenbankpasswörter oder Tokens – stellt ein Sicherheitsrisiko dar. Um dies zu vermeiden, entkoppeln Umgebungsvariablen die Konfiguration von der Codebasis. Codesphere verwaltet diese Variablen über verschlüsselten Speicher und injiziert sie zur Laufzeit in die Anwendung.
Zugriff auf die Variablen
Die Secrets können im Tab Environment Variables des Landscape verwaltet werden.
- Öffne Environment Variables in der Seitenleiste.

Eine neue Variable hinzufügen
So fügst du eine einzelne Variable hinzu:
- Klicke auf die Schaltfläche + Add New Variable.
- Key: Gib den Namen deiner Variable ein
- Value: Gib den geheimen Wert ein.
- Klicke auf Save.
Hinweis: Aus Sicherheitsgründen wird der Wert einer Variable nach dem Speichern maskiert. Er kann durch Klicken auf das Augen-Symbol neben dem Wert wieder angezeigt werden.
Massen-Upload (.env-Dateien)
Bei der Migration eines bestehenden Projekts liegt meist bereits eine .env-Datei vor. Anstatt die Variablen einzeln einzutippen, kann die gesamte Datei hochgeladen werden.
- Klicke auf die Schaltfläche Bulk Upload.
- Ziehe die
.env-Datei per Drag-and-Drop in das Modal oder klicke, um eine Datei auszuwählen. - Klicke auf Upload.
Beispiel für eine .env-Datei
STRIPE_API_KEY=scr_12345
TWILIO_API_KEY=abcd1234
Wichtig: Dadurch werden bestehende Variablen mit demselben Key überschrieben.
Variablen in der Anwendung verwenden
Sobald definiert, stehen diese Variablen der Anwendung genauso zur Verfügung wie jede andere systemweite Umgebungsvariable.
- Node.js
- Python
const apiKey = process.env.KEY_NAME;
import os
api_key = os.environ.get('KEY_NAME')
In deiner CI Pipeline (ci.yml): Diese Umgebungsvariablen können auch in Build- oder Run-Befehlen mittels Standard-Shell-Syntax referenziert werden.
run:
steps:
- name: SERVERNAME
command: ./your-app-server --api-key=$KEYNAME
Du kannst dienstspezifische Umgebungsvariablen direkt in der ci.yml definieren. Details dazu findest du unter Konfiguration der CI Pipeline.
Sie können außerdem über Templating auf Workspace-Ebene definierte Umgebungsvariablen aus der UI referenzieren:
run:
my-service:
env:
KEY_NAME: {{ workspace.env.WORKSPACE_ENV_NAME }}
Variablen auf Service-Ebene vs. Workspace-Ebene
Umgebungsvariablen in Codesphere existieren auf zwei Ebenen:
- Variablen auf Service-Ebene sind auf einen einzelnen Landscape-Service beschränkt und werden direkt in der
ci.yml(siehe Konfiguration der CI Pipeline) oder im eigenenenv-Block des Services definiert. Sie stehen nur diesem Service zur Verfügung. - Variablen auf Workspace-Ebene werden im oben gezeigten Tab Environment Variables definiert und gelten für den gesamten Workspace — für jeden Service sowie jede geöffnete Terminal-Sitzung. Codesphere setzt zudem automatisch einige Variablen auf Workspace-Ebene, wie zum Beispiel
WORKSPACE_ID, die die ID des aktuellen Workspace enthält.
Variablen auf Service-Ebene können mit der oben gezeigten Templating-Syntax {{ workspace.env.VARIABLE_NAME }} auf Variablen der Workspace-Ebene verweisen.
Änderungen an Umgebungsvariablen auf Workspace-Ebene wirken sich nur in einem neu geöffneten Workspace Terminal aus. Ein Terminal, das bereits geöffnet war, als die Variable geändert oder hinzugefügt wurde, sieht den neuen Wert erst, nachdem es geschlossen und neu geöffnet wurde.