Как передать -ldflags в сборку GAE?

У меня есть HTTP-сервис, написанный на Go. внутри main.go У меня есть глобальный version строка.

package main

var version string

Локально я строю используя -ldflags "-X main.version=$VERSION где $VERSION определяется средой оболочки, например:

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 на сборку с эквивалентными флагами ld для выпечки в моей строке версии?

Я должен также упомянуть, что я использую модули Go с GO111MODULE=on локально при строительстве.

1 ответ

Вы не можете сделать это с помощью файла app.yaml. Однако вы можете использовать Cloud build для создания и развертывания приложения в App Engine. В вашем cloudbuild.yaml вы можете добавить строку к шагу сборки

args: ['build', '-a', '-installsuffix', 'cgo', '-ldflags', '''-w''', '-o', 'main', './main.go']
Другие вопросы по тегам