Fehlgeschlagene Deploys beheben

Fehlgeschlagene Deploys beheben

Was jeder Fehler auf der Deploy-Seite bedeutet und wie du ihn behebst.

Ein fehlgeschlagenes Deploy zeigt Why it failed oben auf seiner Seite: die Ursache, die Lösung und die Log-Zeile, die sie belegt. Jede Ursache wird hier erklärt.

Der Build hat das Zeitlimit überschritten

Der Build wurde bei seinem Zeitlimit (60 Minuten) gestoppt. Der nächste Versuch nutzt wieder, was bereits gebaut wurde. Wenn das weiterhin passiert, braucht der Build mehr Speicher oder CPU – siehe Build-Methoden.

Dem Build ist der Speicher ausgegangen

Ein Build-Schritt wurde beendet, weil er mehr Speicher verwendet hat, als der Build-Server hat. Railyard passt Builds bereits automatisch an die Maschine an. Ein größerer Build-Server, oder das Deployen des veröffentlichten Images des Projekts, vermeidet das.

Die App ist gestartet, hat aber nie geantwortet

Der Container läuft, aber nichts hat auf HTTP geantwortet. Die App muss auf 0.0.0.0 und auf dem Port in $PORT lauschen. Prüfe den Port unter Settings, und dass der Start-Befehl nicht an 127.0.0.1 bindet.

Eine Abhängigkeit fehlt zur Laufzeit

Der Code benötigt ein Paket, das nicht im Image enthalten ist – meist wurde das falsche Framework erkannt, oder der Befehl läuft außerhalb des App-Ordners. Prüfe die Build-Methode und den Start-Befehl.

Der Befehl lief im falschen Ordner

Das Image enthält die App nicht an der Stelle, die der Befehl erwartet hat. Falls das Dockerfile des Repos nur für die Entwicklung gedacht ist, baue stattdessen mit Railpack.

Die App benötigt Zugangsdaten für einen externen Dienst

Sie ruft einen Drittanbieter-Dienst auf (Cloud-Speicher, E-Mail, Zahlungen …) und hat keinen Schlüssel dafür. Füge die Variablen dieses Dienstes unter Variables hinzu.

Dem Datenbank-Nutzer fehlt eine Berechtigung

Eine Migration benötigt eine Berechtigung, die der Datenbank-Nutzer der App nicht hat. Deploye einmal neu – Berechtigungen werden bei jedem Deploy aktualisiert.

Die Datenbank war nicht erreichbar

Die App konnte ihre Datenbank nicht erreichen. Falls das während des Builds passiert ist: Die App verbindet sich beim Kompilieren mit ihrer Datenbank, was Builds nicht können.

Eine erforderliche Variable ist nicht gesetzt

Die App stoppt beim Start, weil eine benötigte Variable leer ist. Füge sie unter Variables hinzu.

Das Image konnte nicht abgerufen werden

Die Registry hat das Image abgelehnt: Es existiert nicht, der Tag ist falsch, oder es ist privat und braucht Zugangsdaten unter Settings → Source.

Der Image-Name ist ungültig

Die Image-Referenz enthält Zeichen, die Docker nicht akzeptiert. Prüfe die Repository-URL oder den Image-Namen.

Der Release-Schritt ist fehlgeschlagen

Der Befehl, der vor dem Live-Gang der neuen Version läuft – meist Migrationen – wurde mit einem Fehler beendet. Die erste Fehlerzeile wird auf der Deploy-Seite angezeigt.

Der Build ist fehlgeschlagen

Ein Build-Schritt wurde mit einem Fehler beendet; die erste Fehlerzeile wird auf der Deploy-Seite angezeigt.