CLI: Befehle & Workflows
Sobald die Codesphere CLI (cs) installiert und authentifiziert ist, kann die Infrastruktur direkt über das Terminal verwaltet werden. Die CLI organisiert ihre Funktionalität in übergeordnete Befehle.
Dieser Leitfaden schlüsselt die verfügbaren Befehle auf und zeigt, wie sie sich zu praktischen Entwicklungs-Workflows kombinieren lassen.
Verfügbare Befehle
Nachfolgend eine vollständige Liste der verfügbaren cs-Befehle und ihrer Beschreibungen:
| Befehl | Beschreibung |
|---|---|
cs completion | Generiert das Autocompletion-Skript für die angegebene Shell (bash, zsh, fish, powershell) |
cs create | Erstellt eine Codesphere-Ressource (z. B. Workspaces, Teams) |
cs curl | Sendet authentifizierte HTTP-Requests an die Dev-Domain eines Workspace |
cs delete | Löscht Codesphere-Ressourcen |
cs exec | Führt einen Befehl direkt innerhalb eines Codesphere Workspace aus |
cs generate | Generiert Kubernetes-Artefakte auf Basis des aktuellen Workspace zum Export |
cs git | Interagiert mit dem Git-Repository des Workspace |
cs help | Hilfe zu einem beliebigen Befehl oder Unterbefehl |
cs licenses | Gibt Lizenzinformationen aus |
cs list | Listet aktuelle Ressourcen und Workloads auf |
cs log | Ruft Run-Logs von Services zur Fehlerdiagnose ab |
cs monitor | Überwacht einen Befehl und meldet Health- und Statusinformationen zurück |
cs open | Öffnet den Ziel-Workspace in der Codesphere IDE |
cs set-env | Setzt oder aktualisiert Umgebungsvariablen |
cs start | Startet eine Workspace-Pipeline (z. B. Prepare- oder Run-Stages) |
cs sync | Synchronisiert Codesphere-Ressourcen |
cs update | Aktualisiert die Codesphere CLI auf die neueste Version |
cs version | Gibt die aktuell installierte Version der CLI aus |
cs wake-up | Weckt einen inaktiven oder schlafenden On-Demand-Workspace auf |
Erweiterte Befehlsbeispiele
Über grundlegende CRUD-Operationen hinaus ist die CLI dafür ausgelegt, die Interaktion mit laufenden Umgebungen zu unterstützen.
Remote-Befehle ausführen (cs exec)
Für die Ausführung eines Skripts oder einer Datenbankmigration muss nicht die Web-IDE geöffnet werden. Mit cs exec lassen sich Befehle direkt innerhalb des Workspace-Containers ausführen.
Ein Datenbankmigrationsskript ausführen
cs exec "npm run migrate" -w <WORKSPACE_ID>
Die aktuelle Node-Version innerhalb des Containers prüfen
cs exec "node -v" -w <WORKSPACE_ID>
Shell-Autocompletion
Die cs-CLI unterstützt Autocompletion für moderne Shells und spart damit Zeit und Tastenanschläge bei der Eingabe von Workspace-Namen oder komplexen Flags. Das Completion-Skript lässt sich mit dem Befehl cs completion generieren.
- Bash
- Zsh
- Fish
- PowerShell
So werden Completions in der aktuellen Bash-Session geladen:
source <(cs completion bash)
Um dies dauerhaft für alle Sessions zu übernehmen, das Skript zur ~/.bashrc hinzufügen:
echo "source <(cs completion bash)" >> ~/.bashrc
So werden Completions in der aktuellen Zsh-Session geladen:
source <(cs completion zsh)
Um dies dauerhaft zu übernehmen, zur ~/.zshrc hinzufügen:
echo 'source <(cs completion zsh)' >> ~/.zshrc
So werden Completions in der aktuellen Fish-Session geladen:
cs completion fish | source
Um dies dauerhaft zu übernehmen, die Ausgabe in das Completions-Verzeichnis schreiben:
cs completion fish > ~/.config/fish/completions/cs.fish
So werden Completions in der aktuellen PowerShell-Session geladen:
cs completion powershell | Out-String | Invoke-Expression
Um dies dauerhaft zu übernehmen, die Ausgabe zum PowerShell-Profil hinzufügen.
Typische Workflows
Hier einige Möglichkeiten, diese Befehle für alltägliche Aufgaben zu kombinieren.
Kontextvariablen
Wenn CS_TEAM_ID oder CS_WORKSPACE_ID nicht global gesetzt wurden, müssen diese Werte den Befehlen, die sie benötigen, über die Flags --team (-t) und --workspace (-w) übergeben werden.
Provisionierung & Bootstrapping
Der primäre Anwendungsfall dieser Befehle ist die Integration von Codesphere in bestehende CI/CD-Pipelines (z. B. GitHub Actions, GitLab CI oder Bitbucket Pipelines). So lassen sich beispielsweise Testumgebungen automatisch bereitstellen und deployen, ausgelöst durch bestimmte Git-Ereignisse wie das Öffnen eines Pull Requests. Beim Erstellen eines neuen Projekts lassen sich der Workspace anlegen, die Secrets setzen und der Build-Prozess starten – vollständig über die Kommandozeile:
Einen neuen Workspace erstellen
cs create workspace --name "my-new-app" --team <TEAM_ID>
Benötigte Umgebungsvariablen einfügen (z. B. Datenbank-Zugangsdaten)
cs set-env DB_PASSWORD=supersecret -w <WORKSPACE_ID>
Die Build-/Run-Pipeline starten
cs start -w <WORKSPACE_ID>
Eine laufende App debuggen
Wenn eine Anwendung in Produktion oder Staging Fehler ausgibt, lässt sich dies ohne die Web-UI untersuchen:
Die ID des zu debuggenden Workspace ermitteln
cs list workspaces -t <TEAM_ID>
Die Logs des Services verfolgen, um Fehler zu erkennen
cs log -w <WORKSPACE_ID>
Einen Befehl direkt im Container ausführen, um Dateistrategien zu prüfen
cs exec "cat /var/log/app-errors.log" -w <WORKSPACE_ID>
Aufräumen & Abbau
Um Kosten zu kontrollieren und das Dashboard übersichtlich zu halten, lassen sich alte Preview-Deployments oder Testumgebungen auflisten und löschen:
1. Die aktuell laufenden Ressourcen prüfen
cs list -t <TEAM_ID>
2. Den nicht mehr benötigten Workspace löschen
cs delete workspace -w <WORKSPACE_ID>