Zum Hauptinhalt springen

Fehlerbehebung und weiterführende Themen

Was sich hinter den Kulissen verbirgt

Um Probleme beim Deployment Ihrer Applikation zu verstehen und zu beheben, ist es hilfreich, etwas darüber zu wissen, was sich im Backend abspielt. Bei der erfolgreichen Applikations Erstellung kommt es im Wesentlichen zu folgenden durchgeführten Schritten:

  • Das git Repository wird in der festgelegten Revision geklont
  • Die Programmiersprache bzw. das Framework der Applikation wird erkannt
  • Die Anwendung wird erstellt und mit den für die Sprache passenden Tools in einen OCI Container verpackt
  • Das erstellte Anwendungs-Image wird in die deplo.io Image Registry hochgeladen
  • Ein Release wird erstellt, welches das zuvor erstellte Image ausführt
  • Die Anwendung wird an einem HTTP Endpunkt bereitgestellt

Während der Build- und Release-Phasen kann es zu unterschiedlichen Fehlern kommen. Wenn ein Fehler oder eine Inkompatibilität während des Klonens oder des Builds auftritt, zeigt nctl die Build Logs an, um die Fehlerbehebung zu erleichtern. Wenn der Build erfolgreich ist, aber der Release nicht bereitgestellt werden kann, können die Applikations Logs einen Hinweis auf das Problem geben. Falls die Anwendung allerdings direkt beim Start fehlschlägt, kann dies zu einem leeren Applikations Log führen.

Einen Build wiederholen

Build Prozesse können aus verschiedenen Gründen zu Fehlern führen. Meistens können diese Fehler durch einen Fix im Applikations Code oder durch das Hinzufügen einer fehlenden Umgebungsvariablen behoben werden. Es kann aber auch zu temporären Fehlern im internen deplo.io System kommen. In derartigen Fällen, können Sie die Wiederholung eines Builds mittels nctl anstossen:

$ nctl update app go-example --retry-build

Den Build Output lokal betrachten und ausführen

Da der deplo.io Build Prozess ein OCI-/Docker-Image erzeugt, ist es möglich, sich dieses Container Image auf Ihr lokales Gerät herunter zu laden. Das kann hilfreich sein, wenn der Build erfolgreich ist, aber die Applikation dennoch nicht gestartet werden kann. Bitte beachten Sie, dass es nur möglich ist, Images für Fehlerbehebungszwecke herunterzuladen. Das Hochladen von Images in die Registry ist nicht möglich.

$ nctl get build go-example-build-1 --pull-image
Pulling image of build go-example-build-1
739cb80086f0: Download complete
1bfd697887fa: Download complete
aea73d1e202c: Download complete
e4fd482e7de7: Download complete
✓ Pulled image deploio.296dc8b.registry.nineapis.ch/nine/go-example 💾

Nach dem Image-Download können Sie Docker oder Podman (bzw. jegliche Tools, welche OCI-Images unterstützen) nutzen, um das Image lokal auszuführen.

$ docker run deploio.296dc8b.registry.nineapis.ch/nine/go-example