Docs menu
Go
Deploy Go module apps on Primcloud: module-aware detection, single-command build, one process per compiled binary.
On this page
Primcloud deploys Go apps that use Go modules. Detection triggers when Primcloud finds a go.mod file at the root of your repo. The Go version is resolved from the go directive in go.mod, with the // +heroku goVersion build directive overriding when present.
If no Procfile exists, process types are inferred from the main packages in your module, one process per binary, named after the package's import-path suffix. A package named web, or the first package when none is named web, becomes the default web process.
What's in this section#
- Getting started with Go: deploy a minimal Go web app end-to-end.
- Go on Primcloud: detection,
go install, module downloads, cache layers, and automatic process type inference. - Runtime versions: supported Go versions,
go.modand// +heroku goVersionresolution, and upgrade path. - Package managers: Go modules, vendoring, private modules, and
go.sumbehavior. - Customizing the build: selecting packages to build, vendoring, native dependencies, and Debian packages via
project.toml. - Troubleshooting Go: common build and runtime errors with fixes.