CLI Workflow-Beispiele
Nach der Installation und Authentifizierung der Codesphere CLI (cs) kann die Infrastruktur direkt über das Terminal verwaltet werden. Die CLI organisiert ihre Funktionalität in übergeordnete Befehle.
Dieser Leitfaden stellt die verfügbaren Befehle vor und zeigt, wie sie zu praktischen Entwicklungs-Workflows kombiniert werden können.
Die vollständige Dokumentation zu Befehlen und Flags findet sich in der CS CLI-Referenz.
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, Resource Groups) |
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 Fehlersuche ab |
cs mcp | Startet den Codesphere MCP-Server, um KI-Assistenten mit Codesphere zu verbinden |
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 unterstützt die CLI die Interaktion mit laufenden Umgebungen.
Remote-Befehle ausführen (cs exec)
Es ist nicht nötig, die Web-IDE zu öffnen, nur um ein Skript oder eine Datenbankmigration auszuführen. Mit cs exec lassen sich Befehle direkt im Workspace-Container ausführen.
Ein Datenbankmigrations-Skript 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 kann mit dem Befehl cs completion generiert werden.
- Bash
- Zsh
- Fish
- PowerShell
Um Completions in der aktuellen Bash-Sitzung zu laden:
source <(cs completion bash)
Um dies dauerhaft für alle Sitzungen zu übernehmen, 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 zu übernehmen, 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 zu übernehmen, 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 zu übernehmen, die Ausgabe zum PowerShell-Profil hinzufügen.
Gängige Workflows
Hier einige Möglichkeiten, diese Befehle für alltägliche Aufgaben zu kombinieren.
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 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 automatisch Testumgebungen bereitstellen und bereitstellen (deployen), ausgelöst durch bestimmte Git-Ereignisse wie das Öffnen eines Pull Requests. Beim Erstellen eines neuen Projekts kann der Workspace erstellt, die Secrets angewendet und der Build-Prozess vollständig über die Kommandozeile gestartet werden:
Einen neuen Workspace erstellen
cs create workspace --name "my-new-app" --team <RESOURCE_GROUP_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 Anwendung debuggen
Wenn eine Anwendung in Produktion oder Staging Fehler ausgibt, lässt sich dies ohne die Web-UI untersuchen:
Die ID des Workspace finden, der untersucht werden soll
cs list workspaces -t <RESOURCE_GROUP_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 Griff zu behalten und das Dashboard übersichtlich zu halten, können alte Preview-Deployments oder Testumgebungen aufgelistet und gelöscht werden:
1. Die aktuell laufenden Ressourcen überprüfen
cs list -t <RESOURCE_GROUP_ID>
2. Den veralteten Workspace löschen
cs delete workspace -w <WORKSPACE_ID>