Zum Inhalt springen
deploy
Dokumentation durchsuchen

Staging-Sites für einen Branch deiner Laravel-App

Gib einer Site eine Staging-Kopie auf demselben Server, die bei jedem Push einen anderen Branch deployt, mit eigener Adresse, Datenbank und .env neben der Live-Site.

Als Markdown ansehen Aktualisiert am 11. Oktober 2026

Eine Staging-Site ist eine Kopie einer Site auf demselben Server, die einen anderen Branch desselben Repositorys unter einer eigenen Adresse deployt. Damit probierst du einen Branch wie develop oder staging aus, bevor er live geht: Jeder Push auf diesen Branch deployt die Staging-Site, und nur die Staging-Site.

Staging-Sites sind echte Sites. Jede hat eigene Seiten (Deployments, Umgebung, Domains, Logs und so weiter), ein eigenes Verzeichnis auf dem Server, einen eigenen Deploy-Key und eine eigene Deploy-URL. Du findest sie auf der Seite Staging der Site, die sie abbilden, und darunter auf der Seite Sites des Servers.

Eine Staging-Site erstellen

  1. Öffne die Site und klicke in der Seitenleiste auf Staging.
  2. Klicke auf Neue Staging-Site.
  3. Wähle den Branch. Mit einer Git-Verbindung werden die Branches des Repositorys vorgeschlagen (der Branch, den die Site selbst deployt, fehlt in der Liste); du kannst auch einen Branch eintippen, den du später pushst.
  4. Wähle die Adresse:
    • eine Adresse auf on-deploy.link, vorausgefüllt mit einem generierten Namen, der mit staging- beginnt (wenn generierte Adressen verfügbar sind). Sie bekommt automatisch HTTPS, sobald die Adresse auflöst; oder
    • klicke auf Eigene Domain verwenden und gib eine Domain ein, etwa staging.example.com. Liegt die Domain in einer Zone einer deiner DNS-Integrationen, siehst du die Einträge, die Vimonto Deploy anlegt, genau wie beim Hinzufügen einer Domain. Für eine Staging-Domain wird kein www.-Eintrag angelegt.
  5. Lass Die .env kopieren eingeschaltet, um mit der .env der Site zu starten (wird angezeigt, wenn die Site eine hat).
  6. Lass Bei jedem Push deployen eingeschaltet, damit die Staging-Site bei jedem Push auf ihren Branch deployt wird (wird für Sites mit Git-Verbindung angezeigt).
  7. Klicke auf Staging-Site erstellen.

Die Staging-Site wird wie eine neue Site als Hintergrundtask eingerichtet, und ihr erster Deploy startet, sobald die Einrichtung fertig ist.

Welche Datenbank nutzt eine Staging-Site?

Nie die Live-Datenbank. Auf einem Server mit Datenbank bekommt jede Staging-Site eine neue, leere Datenbank und einen eigenen Benutzer, benannt nach ihrer Adresse (zum Beispiel staging_example_com). Führe darauf deine Migrationen und Seeder aus: php artisan migrate --force im Deploy-Skript verändert immer nur die Staging-Datenbank.

Auf einem Server ohne Datenbank (zum Beispiel einem Webserver, dessen Datenbank auf einem separaten Datenbankserver läuft) bekommt die Staging-Site keine Datenbank-Einstellungen: Die kopierte .env hat leere DB_DATABASE, DB_USERNAME und DB_PASSWORD. Lege eine Datenbank für Staging an und trage sie auf der Seite Umgebung ein, nie mit den Zugangsdaten der Live-Datenbank.

Was bekommt eine Staging-Site?

Eine Staging-Site entsteht mit Site klonen auf demselben Server, mit diesen Unterschieden:

Staging-Site
Repository, Git-Verbindung, Build-Einstellungen, Deploy-Skript, Benachrichtigungen, Weiterleitungen und Sicherheitsregeln Von der Site kopiert
Branch Der gewählte Branch
Adresse und Verzeichnis auf dem Server Eigene
Deploy-Key, Deploy-URL und Push-Webhook Eigene
Datenbank Eine eigene neue Datenbank mit Benutzer (nie die Datenbank der Site)
Zertifikate, Queue-Worker und Prozesse, Site-Features, von der App gespeicherte Dateien Nicht kopiert

Die .env einer Staging-Site

Mit eingeschaltetem Die .env kopieren bekommt die Staging-Site die .env der Site mit:

  • APP_URL auf die Staging-Adresse gesetzt;
  • APP_ENV=staging;
  • den Werten DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME und DB_PASSWORD der eigenen Datenbank, oder leeren Datenbank-Einstellungen auf einem Server ohne Datenbank.

Alles andere, etwa Mail-, Cache- und Queue-Einstellungen, bleibt wie auf der Live-Site. Ändere das auf der Seite Umgebung der Staging-Site, wenn sie eigene Werte braucht.

Bei ausgeschaltetem Die .env kopieren bekommt die Staging-Site eine frische .env wie eine neue Site, mit APP_ENV=staging.

Wie Pushes deployt werden

Die Site und jede ihrer Staging-Sites haben bei deinem Git-Host einen eigenen Webhook mit je eigener Deploy-URL. Ein Push erreicht alle, und jede deployt nur, wenn der Push auf ihren eigenen Branch ging:

  • ein Push auf main deployt die Site, die main folgt;
  • ein Push auf develop deployt die Staging-Site, die develop folgt.

Die anderen Webhooks antworten, dass der Push nicht auf ihren Branch ging, und es passiert nichts weiter. Schalte Bei jedem Push deployen für eine Staging-Site später auf ihrer Seite Deployments ein oder aus.

Staging-Sites deployen, öffnen und löschen

Die Seite Staging listet jede Staging-Site der Site mit ihrem Branch, ob sie bei jedem Push deployt, und ihrem letzten Deployment. Für jede kannst du:

  • auf Jetzt deployen klicken, um ihren Branch sofort zu deployen;
  • auf Site öffnen klicken, um ihre Adresse in einem neuen Tab zu öffnen;
  • auf ihre Adresse klicken, um zu den eigenen Seiten der Staging-Site zu gelangen;
  • auf Löschen klicken, ihre Adresse eintippen und auf Staging-Site löschen klicken, um sie zu entfernen.

Eine Staging-Site zu löschen funktioniert wie das Löschen einer Site: Sie wird mit ihren Releases, ihrer .env, ihren Workern und Zertifikaten vom Server entfernt, und Vimonto Deploy löscht die DNS-Einträge, die es dafür angelegt hat, sowie ihren Deploy-Key und Webhook bei deinem Git-Host. Ihre Datenbank bleibt erhalten; lösche sie auf der Seite Datenbanken des Servers.

Der Header der Site zeigt, wie viele Staging-Sites sie hat; der Header einer Staging-Site zeigt Staging von mit einem Link zurück zu ihrer Site.

Wer darf Staging-Sites erstellen?

Jedes Mitglied kann Staging-Sites sehen. Erstellen, Deployen und Löschen erfordert die Berechtigung, Sites zu verwalten, die Owner, Administratoren, Manager und Developer haben. Staging-Sites liegen auf demselben Server wie ihre Site, daher können Mitglieder, die die Site öffnen können, auch ihre Staging-Sites öffnen.

Häufig gestellte Fragen

Kann jede Site Staging-Sites haben?

Sites mit einem Repository können es. WordPress-, phpMyAdmin- und lastverteilte Sites nicht, und eine Staging-Site kann keine eigenen Staging-Sites haben.

Was passiert mit Staging-Sites, wenn ich die Site lösche?

Sie bleiben als eigene Sites bestehen. Lösche sie vorher auf der Seite Staging, wenn du sie nicht mehr brauchst.

Kann ich eine Staging-Site auf einen anderen Server legen?

Nicht von der Seite Staging aus: Staging-Sites liegen auf dem Server ihrer Site. Nutze Site klonen, um eine Kopie auf einem anderen Server anzulegen.

Warum wird der Branch der Staging-Site nicht vorgeschlagen?

Branches werden für Sites mit Git-Verbindung vorgeschlagen. Bei einer Site, die nur eine Git-URL hat, tippst du den Branch-Namen ein.