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.