首頁 >後端開發 >Golang >如何在不修改原始程式碼的情況下在 Go 二進位檔案中嵌入 Git 修訂版?

如何在不修改原始程式碼的情況下在 Go 二進位檔案中嵌入 Git 修訂版?

DDD
DDD原創
2024-10-29 11:05:29391瀏覽

How to Embed Git Revision in Go Binaries Without Modifying Source Code?

將 Git 修訂添加到 Go 中的二進位建置

軟體開發中的一個常見需求是追蹤二進位執行檔的來源。這對於故障排除和建立建置二進位檔案的來源版本特別有用。在 Go 中,將修訂版號直接添加到原始程式碼中似乎很直觀,但這種方法會引起對更改原始程式碼的擔憂。

相反,請考慮在建置過程中合併 git 修訂版。這種方法可確保二進位檔案反映其建立過程中使用的修訂版,而無需修改原始程式碼。

使用 Git 修訂版建立二進位檔案

要實現此目的,請利用 git rev -parse --short HEAD 指令檢索縮短的修訂版雜湊。接下來,將此值指派給 shell 腳本中名為 $VERSION 的變數。

在 Go 原始碼中,在主套件中宣告一個版本變數。該變數應具有字串資料類型。

最後,在建置過程中,執行下列指令將版本資訊嵌入到二進位檔案中:

#!/bin/sh
VERSION=`git rev-parse --short HEAD`
go build -ldflags "-X main.version=$VERSION"  myfile.go

透過在建置過程中執行該指令build 後,您可以動態地將git 修訂版嵌入到二進位檔案中,而無需更改原始程式碼。要存取修訂信息,只需檢索 Go 程式中版本變數的值即可。

以上是如何在不修改原始程式碼的情況下在 Go 二進位檔案中嵌入 Git 修訂版?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn