「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > トラブルシューティングのために Go バイナリに Git リビジョン情報を埋め込む方法

トラブルシューティングのために Go バイナリに Git リビジョン情報を埋め込む方法

2024 年 11 月 5 日に公開
ブラウズ:649

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 リビジョンが version 変数に埋め込まれたバイナリをビルドでき、後でそれを取得できるようになります。 ./mybinary --revision.

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3