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
- API-Referenz: VPS Execute, Webspace Execute.