我有一个http服务。内部main.go
我有一个全局version
字符串。
package main
var version string
本地,我使用-ldflags "-X main.version=$VERSION
构建$VERSION
由Shell环境确定,例如:
VERSION=v0.16.0 go build ./cmd/app -ldflags "-X main.version=$VERSION
我最近决定试用Google App Engine,并从基本的YAML文件开始:
runtime: go111
handlers:
- url: /.*
script: auto
我可以在YAML文件中设置什么,以指示GAE使用等效的LDFLAG构建以在我的版本字符串中烘烤?
我还应该提到我在构建时在本地使用GO111MODULE=on
使用GO模块。
您无法使用app.yaml文件进行操作。但是,您可以使用Cloud Build来构建和部署应用程序为应用引擎。在您的CloudBuild.yaml中,您可以在构建步骤中添加一行
args: ['build', '-a', '-installsuffix', 'cgo', '-ldflags', '''-w''', '-o', 'main', './main.go']