Deploy auf Webspace
Die GitHub Action Sitequest-Software/sitequest-deploy-webspace-action lädt ein lokales Build-Verzeichnis als tar.gz hoch, entpackt es atomar in deinen Webspace und gibt eine Zusammenfassung zurück. Du musst keine SFTP-Schlüssel verwalten – ein API-Key reicht.
Was es macht
- Packt
sourceauf dem Runner in ein einzelnes Archiv. - Schickt das Archiv per POST an die Sitequest-API.
- Serverseitig wird es in ein Staging-Verzeichnis entpackt und atomar nach
targetunterhalb des Webspace-Home verschoben. Das vorherige Release wird dabei entfernt, sofernkeep-oldnicht gesetzt ist.
Inputs
| Input | Pflicht | Default | Beschreibung |
|---|---|---|---|
api-key |
Ja | — | Sitequest API-Key mit dem Scope webspace:manage. Am besten als Repository-Secret hinterlegen. |
webspace-id |
Ja | — | ID des Ziel-Webspace (steht in der Dashboard-URL). |
source |
Nein | dist |
Lokales Verzeichnis, das deployt werden soll. |
target |
Nein | public_html |
Zielverzeichnis unterhalb des Webspace-Home. |
strip-components |
Nein | 0 |
Anzahl führender Pfadkomponenten, die beim Entpacken entfernt werden (wird an tar --strip-components weitergereicht). |
keep-old |
Nein | false |
Wenn true, bleibt das vorherige Release unter <target>.old/ erhalten. |
api-base |
Nein | https://panel.site.quest |
API-Basis-URL überschreiben (z. B. für Staging). |
Outputs
| Output | Beschreibung |
|---|---|
bytes-uploaded |
Größe des hochgeladenen tar.gz-Archivs in Bytes. |
files-deployed |
Anzahl der auf dem Ziel entpackten Dateien. |
duration-ms |
Gesamtdauer des Deploys in Millisekunden. |
Beispiel-Workflow
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run build
- uses: Sitequest-Software/sitequest-deploy-webspace-action@v1
with:
api-key: ${{ secrets.SITEQUEST_API_KEY }}
webspace-id: ${{ vars.SITEQUEST_WEBSPACE_ID }}
source: dist
target: public_html
Benötigter Scope
Der API-Key braucht den Scope webspace:manage. Lege ihn im Dashboard unter API / MCP (im Profilmenü) an.
Siehe auch
- Befehl ausführen – für Migrationen oder Cache-Clears nach dem Deploy.
- API-Referenz: SFTP Write, Execute.