Go
Rilevato da go.mod. L'app viene compilata con la toolchain pubblicata più recente.
Guide passo passo al deploy: Go.
Vedi Buildpackper come funzionano il rilevamento e la politica delle versioni.
Rilevamento
go.mod nella base directory.
Versioni
La versione predefinita è Go 1.26. Le toolchain pubblicate (aggiornate a settembre 2026) comprendono 1.25-1.27. Go su Nodion usa sempre la toolchain pubblicata più recente. Un progetto con una riga go più vecchia in go.mod viene compilato comunque.
La versione richiesta viene letta, in quest'ordine, da:
.go-version- La direttiva
goingo.mod
La toolchain non finisce nell'immagine di runtime. Solo il tuo binario.
Installazione e build
go mod download se esiste go.sum. Poi:
- Ogni sottodirectory di
cmd/che contiene file.godiventa un binario a sé. - Se non ce ne sono,
go builddi.produce un binario chiamatoapp.
Per impostazione predefinita: CGO_ENABLED=0 e -ldflags=-s -w. Puoi sovrascriverli con le variabili d'ambiente CGO_ENABLED e GOFLAGS_LDFLAGS. Le librerie native che ti servono in fase di compilazione vanno in un Aptfile o in project.toml.
Le app Gin ricevono GIN_MODE=release se quel modulo è in go.sum.
Comando di avvio
Il processo web predefinito usa il binario chiamato server, api, web o app, se uno di questi è stato compilato, altrimenti il primo. Gli altri binari in cmd/ diventano tipi di processo aggiuntivi. Puoi sovrascriverlo con un Procfile. Metti l'app in ascolto su PORT.