2016-06-28 3 views
7

gitタグを使用してgoプログラムにバージョンを挿入しています。 Makefile中:gitの動的バージョンを取得する

versionは次のように main.goに定義されている
VERSION = $(shell git describe --always --dirty) 

github_pki: main.go 
    CGO_ENABLED=0 GOOS=linux \ 
     go build -a \ 
      -ldflags="-X main.version=$(VERSION)" \ 
     -installsuffix cgo -o [email protected] $< 

go getまたはgo buildを使用している場合これはmakeを使用して素晴らしい作品ではなく、

var version = "undefined" 

。外付けビルドシステム(go build/go get)を使用せずにこれをldflagsにする方法はありますか?

+0

ドキュメントによらない。しかし、[ident git attribute](https://git-scm.com/docs/gitattributes#__code_ident_code)を使って少なくともファイルのgitハッシュをファイルに追加することができます。 –

答えて

-1

次は必要ですか?

VERSION=`git describe --always --dirty`; \ 
    CGO_ENABLED=0 GOOS=linux \ 
    go build -a \ 
     -ldflags="-X main.version=$(VERSION)" \ 
     -installsuffix cgo -o github_pki main.go 
関連する問題