CLI: Befehle & Workflows
Sobald die Codesphere CLI (cs) installiert und authentifiziert ist, kann die eigene Infrastruktur direkt über das Terminal verwaltet werden. Die CLI organisiert ihre Funktionalität in übergeordnete Befehle.
Dieser Leitfaden erläutert die verfügbaren Befehle und zeigt, wie sie sich zu praktischen Entwicklungs-Workflows kombinieren lassen.
Verfügbare Befehle
Nachfolgend eine vollständige Liste der verfügbaren cs-Befehle mit Beschreibung:
| Befehl | Beschreibung |
|---|---|
cs completion | Generiert das Autocomplete-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 basierend auf dem 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 liefert 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 darauf ausgelegt, die Interaktion mit laufenden Umgebungen zu unterstützen.
Remote-Befehle ausführen (cs exec)
Es ist nicht notwendig, die Web-IDE zu öffnen, nur um ein Skript oder eine Datenbank-Migration auszuführen. Mit cs exec lassen sich Befehle direkt im Workspace-Container ausführen.
Ein Datenbank-Migrationsskript ausführen
cs exec "npm run migrate" -w <WORKSPACE_ID>
Die aktuelle Node-Version im Container 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 beim Eingeben von Workspace-Namen oder komplexen Flags. Das Completion-Skript lässt sich mit dem Befehl cs completion generieren.
- Bash
- Zsh
- Fish
- PowerShell
Um Completions in der aktuellen bash-Sitzung zu laden:
source <(cs completion bash)
Um dies dauerhaft für alle Sitzungen einzurichten, das Skript zur ~/.bashrc hinzufügen:
echo "source <(cs completion bash)" >> ~/.bashrc
Um Completions in der aktuellen zsh-Sitzung zu laden:
source <(cs completion zsh)
Um dies dauerhaft einzurichten, zur ~/.zshrc hinzufügen:
echo 'source <(cs completion zsh)' >> ~/.zshrc
Um Completions in der aktuellen fish-Sitzung zu laden:
cs completion fish | source
Um dies dauerhaft einzurichten, die Ausgabe in das Completions-Verzeichnis schreiben:
cs completion fish > ~/.config/fish/completions/cs.fish
Um Completions in der aktuellen PowerShell-Sitzung zu laden:
cs completion powershell | Out-String | Invoke-Expression
Um dies dauerhaft einzurichten, die Ausgabe zum PowerShell-Profil hinzufügen.
Häufige Workflows
Hier einige Möglichkeiten, diese Befehle für alltägliche Aufgaben zu kombinieren.
Kontextvariablen
Falls CS_TEAM_ID oder CS_WORKSPACE_ID nicht global gesetzt wurden, müssen diese bei Befehlen, die sie benötigen, über die Flags --team (-t) und --workspace (-w) übergeben werden.
Provisioning & Bootstrapping
Der primäre Anwendungsfall für diese Befehle ist die Integration von Codesphere in bestehende CI/CD-Pipelines (etwa GitHub Actions, GitLab CI oder Bitbucket Pipelines). So lassen sich beispielsweise automatisch Testumgebungen bereitstellen und deployen, ausgelöst durch bestimmte Git-Ereignisse wie das Öffnen eines Pull Requests. Beim Anlegen eines neuen Projekts können Workspace-Erstellung, das Setzen von Secrets und der Start des Build-Prozesses vollständig über die Kommandozeile erfolgen:
Einen neuen Workspace erstellen
cs create workspace --name "my-new-app" --team <TEAM_ID>
Notwendige Umgebungsvariablen einspielen (z. B. Datenbank-Zugangsdaten)
cs set-env DB_PASSWORD=supersecret -w <WORKSPACE_ID>
Die Build-/Run-Pipeline starten
cs start -w <WORKSPACE_ID>
Debugging einer laufenden App
Wenn eine Anwendung in Produktion oder Staging Fehler ausgibt, lässt sich dies auch ohne die Web-UI untersuchen:
Die ID des zu debuggenden Workspace ermitteln
cs list workspaces -t <TEAM_ID>
Die Logs des Service 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>
Cleanup & Teardown
Um Kosten im Blick zu behalten 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>