Ein Deploy-Skript ist die Abfolge von Befehlen, die ein Deployment ausführt, als Datei festgehalten. Es liegt im Repository, läuft bei jedem Ausrollen gleich ab und lässt sich damit prüfen wie anderer Code.
- Deploy-Skript
Die Abfolge von Befehlen, die ein Deployment ausführt, als Datei festgehalten.
Beispiel: „Im Deploy-Skript stand der Neustart der Worker an letzter Stelle.“Üblich sind eine Shell-Datei im Projekt, ein Abschnitt in der Pipeline oder das Skriptfeld eines Dienstes wie Laravel Forge. Der Inhalt ist in allen drei Fällen derselbe.
Abgrenzung zur Build-Pipeline: Diese umfasst Prüfen, Bauen und Ausrollen. Das Deploy-Skript ist der letzte dieser Schritte.
Was in einem Deploy-Skript steht
Der Stand holen, die Abhängigkeiten installieren, die Assets bauen, die Datenbank anpassen, die Zwischenspeicher neu schreiben, auf das neue Verzeichnis umschalten und die Hintergrundprozesse neu starten. In dieser Reihenfolge.
Jeder dieser Schritte ist für sich genommen harmlos und in der falschen Reihenfolge schädlich. Wer die Zwischenspeicher vor dem Umschalten schreibt, legt die Konfiguration des alten Stands in den neuen.
Warum ein Deploy-Skript bei einem Fehler abbrechen muss
Weil es sonst weiterläuft und ein halbes Ergebnis hinterlässt. Scheitert die Installation der Abhängigkeiten und das Skript schaltet trotzdem um, steht eine Website im Netz, der die Hälfte ihrer Pakete fehlt.
In einer Shell sorgt dafür eine Zeile am Anfang, die bei jedem Fehlerstatus abbricht. In einer Pipeline ist das die Vorgabe, und genau darin liegt ihr Vorteil gegenüber einer Reihe von Befehlen auf der Kommandozeile.
Was in einem Deploy-Skript nicht stehen darf
Zugangsdaten. Das Skript liegt im Repository, und damit stünden Passwörter und Schlüssel in der Geschichte des Projekts, auch nachdem sie später entfernt wurden.
Sie gehören in die Umgebung des Servers oder in einen Speicher für Geheimnisse, auf den das Skript zugreift, siehe Secrets-Verwaltung.