首頁 >後端開發 >Golang >如何在 Go 二進位檔案中嵌入 Git 修訂資訊以進行故障排除?

如何在 Go 二進位檔案中嵌入 Git 修訂資訊以進行故障排除?

DDD
DDD原創
2024-10-27 06:28:29412瀏覽

How to Embed Git Revision Information in Go Binaries for Troubleshooting?

確定Go 二進位檔案中的Git 修訂版

部署程式碼時,將二進位檔案與其建置的git 修訂版關聯起來會很有幫助排除故障的目的。但是,直接使用修訂號更新原始程式碼是不可行的,因為它會改變原始程式碼。

解決方案:利用建造標誌

解決此挑戰的方法包括利用建造標誌。透過使用建置標誌在主套件中設定目前 git 修訂版的版本變量,您可以維護二進位檔案及其來源版本之間的連結。這可以透過以下步驟實現:

  1. 使用命令 git rev-parse --short HEAD 將 git 修訂版本取得到 $VERSION 環境變數中。
  2. 設定版本變數在 go 建置過程中,在有建置標誌 -ldflags "-X main.version=$VERSION" 的主套件中。

這是示範此方法的範例腳本:

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

透過執行此腳本,您可以使用嵌入版本變數中的目前git 修訂版本建立二進位文件,以便您稍後使用./mybinary --revision 檢索它。

以上是如何在 Go 二進位檔案中嵌入 Git 修訂資訊以進行故障排除?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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