gpt4 book ai didi

git - Go:如何向构建的二进制文件添加 git 修订版?

转载 作者:IT王子 更新时间:2023-10-29 00:35:12 26 4
gpt4 key购买 nike

我想将当前的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com