Go のバイナリ ビルドに Git リビジョンを追加する
ソフトウェア開発における一般的なニーズは、バイナリ実行可能ファイルの起源を追跡することです。これは、トラブルシューティングやバイナリのビルド元のソース バージョンの確認に特に役立ちます。 Go では、リビジョン番号をソース コードに直接追加するのが直感的に思えるかもしれませんが、このアプローチではソースの変更に関する懸念が生じます。
代わりに、ビルド プロセス中に git リビジョンを組み込むことを検討してください。このアプローチにより、ソース コードを変更することなく、作成時に使用されたリビジョンがバイナリに反映されます。
Git リビジョンを使用したバイナリの構築
これを実現するには、git rev を利用します。 -parse --short HEAD コマンドで、短縮されたリビジョン ハッシュを取得します。次に、この値をシェル スクリプト内の $VERSION という名前の変数に割り当てます。
Go ソース コード内で、メイン パッケージ内のバージョン変数を宣言します。この変数のデータ型は文字列である必要があります。
最後に、ビルド プロセス中に次のコマンドを実行して、バージョン情報をバイナリに埋め込みます。
#!/bin/sh VERSION=`git rev-parse --short HEAD` go build -ldflags "-X main.version=$VERSION" myfile.go
実行中にコマンドを実行します。ビルドすると、ソース コードを変更せずに、git リビジョンをバイナリに動的に埋め込むことができます。リビジョン情報にアクセスするには、Go プログラムの version 変数の値を取得するだけです。
以上がソースコードを変更せずにGitリビジョンをGoバイナリに埋め込む方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。