Integrationen

Befehl ausführen

Die GitHub Action Sitequest-Software/sitequest-exec-action führt einen einzelnen Shell-Befehl auf einem Webspace oder VPS über die Sitequest REST-API aus. Stdout, Stderr, Exit-Code und Laufzeit werden erfasst und als Outputs bereitgestellt.

Gut geeignet für Migrationen, Cache-Clears, Deploy-Hooks oder andere einmalige Aufgaben, für die sich keine eigene Action lohnt.

Inputs

Input Pflicht Default Beschreibung
api-key Ja Sitequest API-Key mit dem Scope vps:manage und/oder webspace:manage.
resource Ja Typ der Ziel-Ressource – vps oder webspace.
id Ja ID der Ressource (VPS oder Webspace).
command Ja Shell-Befehl. Mehrzeilige Strings werden 1:1 übernommen.
cwd Nein Arbeitsverzeichnis für den Befehl.
timeout Nein 300 Timeout in Sekunden (maximal 1800).
fail-on-non-zero Nein true Lässt den Step fehlschlagen, wenn der Exit-Code ungleich 0 ist.
api-base Nein https://panel.site.quest API-Basis-URL überschreiben (z. B. für Staging).

Outputs

Output Beschreibung
exit-code Exit-Code des Befehls (-1, falls schon der Request selbst fehlschlägt).
stdout Erfasstes Stdout.
stderr Erfasstes Stderr.
duration-ms Gesamtdauer in Millisekunden.

Beispiel: Migration nach dem Deploy

- uses: Sitequest-Software/sitequest-deploy-webspace-action@v1
  with:
    api-key: ${{ secrets.SITEQUEST_API_KEY }}
    webspace-id: ${{ vars.SITEQUEST_WEBSPACE_ID }}
    source: build

- name: Run migrations
  uses: Sitequest-Software/sitequest-exec-action@v1
  with:
    api-key: ${{ secrets.SITEQUEST_API_KEY }}
    resource: webspace
    id: ${{ vars.SITEQUEST_WEBSPACE_ID }}
    command: php artisan migrate --force
    cwd: public_html

Beispiel: systemd-Unit auf VPS neu starten

- uses: Sitequest-Software/sitequest-exec-action@v1
  with:
    api-key: ${{ secrets.SITEQUEST_API_KEY }}
    resource: vps
    id: ${{ vars.SITEQUEST_VPS_ID }}
    command: systemctl restart myapp.service

Beispiel: Output im nächsten Step nutzen

- id: status
  uses: Sitequest-Software/sitequest-exec-action@v1
  with:
    api-key: ${{ secrets.SITEQUEST_API_KEY }}
    resource: vps
    id: ${{ vars.SITEQUEST_VPS_ID }}
    command: systemctl is-active myapp.service
    fail-on-non-zero: false

- run: |
    echo "Service status: ${{ steps.status.outputs.stdout }}"
    echo "Exit code: ${{ steps.status.outputs.exit-code }}"

Limits

  • Stdout und Stderr sind pro Ausführung jeweils auf 32 MB begrenzt.
  • Standard-Timeout: 5 Minuten, Maximum: 30 Minuten.
  • Der Befehl läuft auf Webspaces als Webspace-User, auf VPS als root.

Benötigter Scope

vps:manage für VPS-Ziele, webspace:manage für Webspaces.

Siehe auch