Go
On this page
Features
Installing a Specific Go Version
By default the Go buildpack will read the version specified in your go.mod
file. It is possible to override this version by setting the BP_GO_VERSION
build argument.
Configuring the go build
Command
Stackblaze compiles your Go source code with the go build
command and includes certain flags by default. These flags can be overridden with the BP_GO_BUILD_FLAGS
and BP_GO_BUILD_LDFLAGS
build arguments.
Building Non-Default Packages
Stackblaze will compile the package in the app’s root directory by default. It is possible to build a non-default package (or packages) by setting the BP_GO_TARGETS
build argument.
Build Arguments
BP_GO_VERSION
Can be set to any valid semver version or version constraint (e.g. 1.14.1, 1.14.*).
Example: BP_GO_VERSION=1.14.1
BP_GO_BUILD_FLAGS
Use this build argument to override the default flags set for the go build
command.
Example: BP_GO_BUILD_FLAGS=-buildmode=default -tags=Stackblaze
BP_GO_BUILD_LDFLAGS
Pass -ldflags
to the go build command
.
Example: BP_GO_BUILD_LDFLAGS="-X main.variable=some-value
BP_GO_TARGETS
Use this build argument to specify a target other than the root directory.
Example: BP_GO_TARGETS=./my-other-package
BP_GO_BUILD_IMPORT_PATH
If you are building a $GOPATH
application that imports its own sub-packages, you will need to specify the import paths for those sub-packages.
Example: BP_GO_BUILD_IMPORT_PATH=github.com/app-developer/app-directory
BP_KEEP_FILES
By default, Stackblaze deletes the contents of your app source directory (except for built artifacts). Use this build argument to disable this behavior.
Example: BP_KEEP_FILES=true