Go
Wykrywany na podstawie go.mod. Aplikację kompiluje najnowszy opublikowany toolchain.
Przewodniki wdrożeniowe krok po kroku: Go.
Na stronie Buildpacksopisano, jak działa wykrywanie i polityka wersji.
Wykrywanie
go.mod w Base directory.
Wersje
Domyślnie Go 1.26. Według stanu na wrzesień 2026 dostępne były toolchainy 1.25-1.27. Go na Nodion zawsze używa najnowszego opublikowanego toolchaina. Projekt ze starszą wersją określoną w dyrektywie go w go.mod też się zbuduje.
Żądana wersja jest odczytywana kolejno z:
.go-version- dyrektywy
gowgo.mod
Sam toolchain nie trafia do obrazu uruchomieniowego (run image). Trafia tam tylko Twój plik wykonywalny.
Instalacja i build
go mod download, jeśli istnieje go.sum. Następnie:
- Z każdego podkatalogu
cmd/zawierającego pliki.gopowstaje osobny plik wykonywalny. - Jeśli takich podkatalogów nie ma,
go buildz.tworzy plik wykonywalny o nazwieapp.
Domyślnie CGO_ENABLED=0 i -ldflags=-s -w. Możesz to nadpisać zmiennymi środowiskowymi CGO_ENABLED i GOFLAGS_LDFLAGS. Biblioteki natywne potrzebne podczas kompilacji dodaj w Aptfile lub w project.toml.
Aplikacje Gin otrzymują GIN_MODE=release, jeśli moduł znajduje się w go.sum.
Polecenie startowe
Jako domyślny proces web uruchamiany jest pierwszy z dostępnych plików wykonywalnych o nazwie server, api, web lub app. Jeśli nie ma żadnego z nich, uruchamiany jest pierwszy zbudowany plik. Pozostałe pliki wykonywalne z cmd/ stają się dodatkowymi typami procesów. Możesz to zmienić w Procfile. Twoja aplikacja musi nasłuchiwać na PORT.