Zum Hauptinhalt springen

Go

Die Deploio-Build-Umgebung nutzt das Paketo Go Buildpack.

Beispiel-App

Eine einfache Go App zeigen wir in unserem Beispiele-Repository. Sie können diese mit nctl deployen:

nctl create application go \
--git-url=https://github.com/ninech/deploio-examples \
--git-sub-path=go

Build-Umgebungsvariablen

Der Build-Prozess bietet einige Umgebungsvariablen, mit deren Hilfe Sie ihn an Ihren Use Case anpassen können. Eine Auflistung aller verfügbaren Variablen finden Sie im Abschnitt Anleitungen der Dokumentation.

Den main.go Pfad definieren

Standardmässig kompiliert das Go Buildpack das Paket im Repository-Stammverzeichnis. Wenn sich Ihr main.go in einem anderen Verzeichnis, z. B. cmd/web/main.go, befindet, müssen Sie den Pfad mithilfe der Build-Umgebungsvariable BP_GO_TARGETS="./cmd/web" definieren.

Es ist auch möglich, mit einer durch Doppelpunkte getrennten Liste mehrere Pakete (Binärdateien) in Ihre App einzubauen.

--build-env=BP_GO_TARGETS="./first:./second"

Quelldateien behalten

Standardmässig enthält das Build-Ergebnis nur die Go-Binärdateien, während der gesamte Quellcode entfernt wird. Wenn Sie bestimmte Dateien oder Verzeichnisse behalten möchten, können Sie diese über BP_KEEP_FILES festlegen:

--build-env=BP_KEEP_FILES="assets/*:public/*"

Eine weitere Möglichkeit, um statische Assets zu behalten, ohne spezielle Umgebungsvariablen zu verwenden, ist das direkte Verankern in der Go-Binärdatei mithilfe des embed-Pakets.