Automatisierung
Einmal skripten, überall ausführen
Starte Deploys aus deiner Pipeline und lass den Build fehlschlagen, wenn der Deploy fehlschlägt. Führe dasselbe Bash-Skript mit einem Klick auf jedem Server aus und informiere deine eigenen Systeme über jeden Deploy.
Vier Wege, einen Deploy ohne Klick zu starten
Push to Deploy
Verknüpfe ein Repository bei GitHub, GitLab oder Bitbucket, und ein Webhook wird für dich angelegt. Pushes auf den Branch der Site werden deployt, andere Branches ignoriert.
Deploy-URL
Ein
POSTan eine geheime URL, kein Token nötig. Die Antwort ist202,409, wenn bereits ein Deploy läuft, oder422. Du kannst die URL jederzeit neu erzeugen.Deploy-CLI
deploy deploy shop.example.com --watchstartet den Deploy, streamt seine Ausgabe und beendet sich mit seinem Ergebnis.REST-API
Lege per
POSTein Deployment an und verfolge dann seine Aufgabe, bis sie erfolgreich ist oder fehlschlägt. JSON rein, JSON raus, 120 Anfragen pro Minute und Token.
CLI
Deploy aus GitHub Actions in einem Schritt
Die CLI ist eine einzelne PHP-Datei ohne Abhängigkeiten, die du von deiner Vimonto-Deploy-Adresse unter /cli/deploy herunterlädst. Die Ubuntu-Runner von GitHub haben PHP bereits an Bord, du musst also nichts installieren.
Erstelle einen Token nur mit dem Scope Deploy und speichere ihn als Secret. Mit --watch färbt ein fehlgeschlagener Deploy die Pipeline rot. Derselbe Befehl funktioniert auch in GitLab CI.
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy shop.example.com
run: php bin/deploy deploy shop.example.com --watch
env:
DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
DEPLOY_URL: https://deploy.example.com
DEPLOY_ORG: acmeREST-API
Eine API für deine eigenen Skripte
Persönliche API-Tokens handeln in deinem Namen: Sie können, was deine Rolle erlaubt, auf den Servern, die deine Teams dir geben, innerhalb der Scopes, die du wählst. Lesen zeigt an, Deploy startet und verfolgt Deploys für die CI, und Schreiben erstellt und entfernt zusätzlich Datenbanken und führt Backups und Rezepte aus. Tokens laufen nach 30, 90 oder 365 Tagen ab oder nie, und gespeichert wird nur ein Hash.
Längere Arbeit läuft als Aufgabe, deren Status, Schritt, Fortschritt und Ausgabe du mit GET /tasks/<id> abfragst. Fehler kommen als JSON mit einer Meldung, und 409-Antworten enthalten die ID der laufenden Aufgabe.
- Server, Sites und Deployments auflisten; eine Site über ihre Domain finden
- Deploys starten und ihre Aufgaben verfolgen
- Datenbanken erstellen und löschen
- Backups auflisten und sofort eines ausführen
- Rezepte auflisten und auf mehreren Servern ausführen
MCP
Lass deinen KI-Assistenten deployen
Vimonto Deploy hat einen eingebauten MCP-Server, sodass Assistenten wie Claude Code, Claude Desktop, Cursor und VS Code deine Server und Sites auflisten, eine Site deployen und das Deployment verfolgen, die Ausgabe einer fehlgeschlagenen Aufgabe lesen, Datenbanken anlegen sowie Backups und Rezepte ausführen können.
Er meldet sich mit einem persönlichen API-Token an: Der Assistent kann genau das, was die Scopes des Tokens und deine Rolle erlauben, auf den Servern, auf die du Zugriff hast. Löschen ist darüber nicht möglich.
Rezepte
Gespeicherte Bash-Skripte für jeden Server
Ein Rezept ist ein Bash-Skript, das du einmal schreibst und auf einem oder mehreren aktiven Servern ausführst, als root oder als Serverbenutzer. Jeder Server bekommt eine eigene Aufgabe, sodass du jede Ausgabe getrennt verfolgst, und auf Wunsch erhältst du einen E-Mail-Bericht, wenn alle fertig sind.
Variablen wie {{server_name}}, {{ip_address}}, {{private_ip_address}} und {{server_type}} werden pro Server direkt vor dem Ausführen eingesetzt.
set -e
echo "Cleaning up on {{server_name}} ({{ip_address}})"
apt-get autoremove -y
journalctl --vacuum-time=14d
df -h /Deploy-Hooks
Informiere deine eigenen Systeme über jeden Deploy
Aktiviere den Deploy-Hook einer Site, und Vimonto Deploy sendet nach jedem Deploy, ob erfolgreich oder fehlgeschlagen, einen POST mit JSON an deinen HTTPS-Endpunkt, ohne den Deploy aufzuhalten. Nutze ihn für einen Chatbot, ein Changelog oder ein Automatisierungstool und prüfe ihn mit Deploy-Hook testen.
Lieber per E-Mail? Füge bis zu 10 Adressen hinzu, auch außerhalb der Organisation, die eine E-Mail erhalten, sobald ein Deploy der Site fehlschlägt.
{
"event": "deployment.succeeded",
"site": { "id": 12, "domain": "shop.example.com" },
"server": { "id": 3, "name": "web-1" },
"deployment": {
"status": "succeeded",
"branch": "main",
"commit_message": "Fix the checkout total"
}
}Fragen zur Automatisierung
Soll ich die Deploy-URL, die CLI oder die API nutzen?
Die Deploy-URL ist am einfachsten: ein curl -X POST, kein Token, aber deine Pipeline erfährt nicht, ob der Deploy erfolgreich war. Die CLI mit --watch wartet und lässt den Job bei einem fehlgeschlagenen Deploy scheitern. Die API bietet dir dasselbe in deinen eigenen Skripten.
Kann ich Server oder Sites über die API erstellen?
Noch nicht. Die API liest Server, Sites, Deployments, Datenbanken, Backups, Rezepte und Aufgaben, startet Deploys, erstellt und entfernt Datenbanken und führt Backups und Rezepte aus.
Was braucht die CLI?
PHP 8.2 oder neuer mit der curl-Erweiterung und einen API-Token. Sie läuft unter macOS, Linux und WSL und braucht keinen SSH-Zugang zu deinen Servern: Sie spricht nur über HTTPS mit der API.
Warum bekommt meine Pipeline einen 409?
Es lief bereits ein Deploy der Site, oft weil Push to Deploy ihn gestartet hat. Schalte Bei jedem Push deployen für Sites ab, die von der CI deployt werden.
Wer darf Rezepte ausführen?
Owner, Administratoren, Manager und Developer. Auf ihre Teams beschränkte Mitglieder können Rezepte nur auf ihren eigenen Servern ausführen. Siehe Sicherheit und Teams.
Verwandte Seiten
- DeploymentsReleases ohne Downtime, Push to Deploy, Deploy-URLs für die CI und Rollbacks mit einem Klick.
- IntegrationenCloud- und DNS-Anbieter, Git-Hosts und S3-kompatibler Speicher, einmal pro Organisation verbunden.
- Sicherheit und TeamsRollen, Teams, ein Terminal im Browser, Firewall-Regeln, SSH-Schlüssel und ein Audit-Log.
Dein nächster Deploy ist live, bevor dein Kaffee fertig ist.
Erstelle eine Organisation, verbinde einen Server und pushe. Mehr nicht.