我想将当前的 git 修订号添加到 go build
构建的二进制文件中,这样我就可以执行类似 ./mybinary --revision
的操作来查看哪个构建它的修订版(通常用于部署后的故障排除)。
显然,我不能将修订号放入源代码中,因为那样会用新修订更改源代码。
我想知道是否还有其他方法可以做到这一点?
或者你认为这只是一个坏主意?如果是这样,在构建的二进制文件与其源版本之间建立关系的推荐方法是什么?
对于分布式版本控制系统,版本号似乎不是一个好主意。
最佳答案
如果您可以将 git 修订版放入 $VERSION 并且在您的主包中有一个名为 version
的变量(类型为字符串),您可以在构建期间设置它:
#!/bin/sh
VERSION=`git rev-parse --short HEAD`
go build -ldflags "-X main.version=$VERSION" myfile.go
关于git - Go:如何向构建的二进制文件添加 git 修订版?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15711780/