Skip to main content
Diese Anleitung bringt ein Projekt von deinem Rechner zu einer laufenden Anwendung auf Square Cloud und zeigt anschließend, wie du eine Änderung auslieferst. Das dauert nur wenige Minuten.
1

CLI installieren

Prüfe mit squarecloud --version, ob sie funktioniert. Wird der Befehl nicht gefunden, lies Installation.
2

Anmelden

Die CLI zeigt einen kurzen Code an und öffnet die Autorisierungsseite in deinem Browser. Gib den Code dort ein und bestätige. Die Seite Authentifizierung behandelt API-Schlüssel und CI.
3

Konfigurationsdatei anlegen

Lege im Stammverzeichnis deines Projekts eine Datei squarecloud.app an. Sie teilt Square Cloud mit, welche Datei ausgeführt wird, wie viel Arbeitsspeicher reserviert wird und welche Runtime-Version zum Einsatz kommt:
squarecloud.app
Für eine Website ergänzt du SUBDOMAIN=<name>, um sie unter <name>.squareweb.app zu veröffentlichen. Jeder Schlüssel wird im Leitfaden zur Konfigurationsdatei erklärt.
4

Projekt hochladen

Führe im Projektordner Folgendes aus:
Die CLI zippt den Ordner, lässt dabei weg, was in squarecloud.ignore aufgeführt ist (sowie standardmäßig node_modules, .git und Lock-Dateien), und erstellt eine neue Anwendung:
Ausgabe
Außerdem schreibt sie die ID der neuen Anwendung in deine Konfigurationsdatei, damit die folgenden Befehle wissen, welche Anwendung gemeint ist:
squarecloud.app
5

Prüfen, ob sie läuft

Eine ID ist nicht nötig: Beide Befehle lesen die Zeile ID=. Um die Ausgabe live zu verfolgen, führe squarecloud app realtime aus und beende mit Ctrl+C.
6

Eine Änderung ausliefern

Bearbeite deinen Code, sende den Ordner dann an dieselbe Anwendung und starte sie neu:
upload erstellt jedes Mal eine neue Anwendung; commit aktualisiert die vorhandene und behält ihre ID, Domain und Einstellungen bei.

Wie die CLI deine Anwendung findet

Befehle, die auf eine einzelne Anwendung wirken, zeigen in ihrer Verwendung [appID]: Die ID ist optional. Die CLI wählt die Anwendung in dieser Reihenfolge:
  1. Die ID, die du übergibst. Sie ist das erste Argument oder --app <appID> bei Befehlen, deren Argumente etwas anderes sind: app env set, remove und replace, alle app file-Befehle, app deploy webhook, app deploy github link und unlink sowie app network domain.
  2. Die Zeile ID= der Datei squarecloud.app im aktuellen Ordner (oder squarecloud.config; existieren beide, hat squarecloud.app Vorrang).
  3. Eine Auswahlliste deiner Anwendungen, wenn die CLI in einem Terminal läuft. Navigiere mit den Pfeiltasten und Enter; Esc bricht ab.
Einige Befehle verhalten sich anders:
  • commit öffnet nie die Auswahlliste. Ohne Argument und ohne ID=-Zeile bricht der Befehl mit Exit-Code 1 ab und fordert eine ID an.
  • app snapshot restore erwartet die Anwendungs-ID immer als erstes Argument.
  • Datenbanken haben keine Konfigurationsdatei: db-Befehle nehmen die Datenbank-ID entgegen oder öffnen eine Auswahlliste deiner Datenbanken.
  • workspace-Befehle, die auf einen Workspace wirken, erwarten immer dessen ID.
Eine ID findest du mit squarecloud app list. Übergib in Skripten und in der CI immer die ID oder behalte die Zeile ID= bei: Die Auswahlliste benötigt ein interaktives Terminal.

Wo die Anwendungs-ID gespeichert wird

upload schreibt ID=<appID> nur, wenn der Ordner bereits eine Konfigurationsdatei hat, die der Upload ohnehin benötigt. Dabei ändert der Befehl nur diese eine Zeile und lässt deine übrigen Schlüssel und Kommentare unverändert. Square Cloud ignoriert die Zeile beim Lesen der Datei, sodass sie im Zip bleiben kann. Wenn du upload im selben Ordner erneut ausführst, entsteht eine weitere Anwendung, und die Zeile ID= zeigt danach auf diese. Um deine bestehende Anwendung zu aktualisieren, verwende commit. Um aus diesem Ordner mit einer anderen Anwendung zu arbeiten, bearbeite oder lösche die Zeile.

Nächste Schritte

Upload und Commit

Alle Flags von upload, commit und zip und was im Zip landet.

Umgebungsvariablen

Variablen im Terminal setzen oder aus einer .env-Datei laden.

GitHub-Deploys

Bei jedem Push über die Square Cloud GitHub App deployen.

Globale Flags und CI

JSON-Ausgabe, Exit-Codes und die CLI in Pipelines.