如何将-ldflags传递到GAE构建?

I have an HTTP service written in Go. Inside main.go I have a global version string.

package main

var version string

Locally, I build using -ldflags "-X main.version=$VERSION where $VERSION is determined by the shell environment, like so:

VERSION=v0.16.0 go build ./cmd/app -ldflags "-X main.version=$VERSION

I've recently decided to trial Google App Engine and started with a basic YAML file:

runtime: go111

handlers:
- url: /.*
  script: auto

What can I set in the YAML file in order to instruct GAE to build with the equivalent ldflags to bake in my version string?

I should also mention I use go modules with GO111MODULE=on locally when building.

You can't do it with you app.yaml file. However, you can use Cloud build to build and deploy your app to App Engine. In your cloudbuild.yaml you can add a line to the build step

args: ['build', '-a', '-installsuffix', 'cgo', '-ldflags', '''-w''', '-o', 'main', './main.go']