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.