
009: Set variables at build time with -LDFLAGS
I talk about how I'm using the -LDFLAGS to inject variables value at build time so it's easier to grab the exact Git commit hash that user are using when reporting issues.
Audio is streamed directly from the publisher (media.transistor.fm) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
Usage of -ldflags:
go build -ldflags "-X main.varName=from_build" -o mycli
Inside your code:
var varName string
func main() {
fmt.Println(varName) // prints "from_build"
}
Here's what I'm using for StaticBackend -v flag:
go build -ldflags \
"-X github.com/staticbackendhq/core/config.BuildTime=$(shell date +'%Y-%m-%d.%H:%M:%S') \
-X github.com/staticbackendhq/core/config.CommitHash=$(shell git log --pretty=format:'%h' -n 1) \
-X github.com/staticbackendhq/core/config.Version=$(shell git describe --tags)" \
-o staticbackend
Links:
- StaticBackend website
- StaticBackend GitHub repo
- Build SaaS apps in Go (my online course and book)