@kyanny's blog

私は天才ではありません。ただ、人より長く一つの事と付き合っていただけです - アインシュタイン

Go: build -ldflags オプションで Git コミットリビジョンを埋め込む

ということができるらしい。便利。

こんな感じでビルドスクリプトに仕込んでおき、 CI で動かしたりするとよい。

version=$(git rev-parse --short HEAD)
go build -ldflags="-X 'main.Version=$version'" -o main

実験したリポジトリ。シェルスクリプトでも Makefile でも可。

https://github.com/kyanny/GoBuildLdflagsPractice