Go
Die Deploio-Build-Umgebung nutzt das Heroku Go Cloud Native 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
App-Anforderungen
Jedes Go-Projekt, welches die folgenden Kriterien erfüllt, sollte buildbar sein:
- Eine
go.mod
-Datei befindet sich im Hauptverzeichnis des Projekts. - Die App kompiliert mit Go 1.16 oder höher.
- Die App verwendet Go-Module für die Installation aller Abhängigkeiten.
Go-Version-Erkennung
Die Go-Version wird aus der go
-Zeile in der go.mod
gelesen. Dies ist
wahrscheinlich für die meisten Apps korrekt, aber eine andere Version kann
mithilfe einer Build-Anweisung in der
go.mod
-Datei
ausgewählt werden.
Mehrere Binärdateien
Der Build-Prozess erstellt alle im Projekt gefundenen Main-Pakete. Wenn Sie
mehrere Pakete haben, müssen Sie möglicherweise den gewünschten
App-Eintrittspunkt mit einem Procfile
definieren. Befindet sich Ihre main.go
-Datei beispielsweise in einem
Verzeichnis namens server
, sollte das Procfile
so aussehen:
web: server
Dies führt dazu, dass die Binärdatei server
als App-Eintrittspunkte ausgeführt
wird.
Wenn Sie nur selektive Pakete bauen möchten, können Sie dafür eine Anweisung in
der go.mod
-Datei
verwenden.