Как иметь собственные флаги и инструменты сборки Go в GCP App Engine?
При использовании стандартной среды Go для App Engine (https://cloud.google.com/appengine/docs/standard/go) есть ли способ иметь собственные флаги сборки Go, а также инструмент?
В идеале хотелось бы иметь:
go install
инструментаgo build
с флагами с помощью инструмента
Но я не могу найти способ настроить автоматическую сборку этой среды App Engine.
1 ответ
Единственный способ, о котором я знаю, - это использование среды GCP AppEngine Flexible (см. https://cloud.google.com/appengine/docs/flexible). Вы в основном указываетеflex
окружающая среда в вашем app.yaml
:
runtime: custom
env: flex
а затем вы можете повторно использовать стандартный многоэтапный Dockerfile AppEngine Go с помощью директивы FROM gcr.io/google-appengine/golang
(отражено на Github здесь: https://github.com/GoogleCloudPlatform/golang-docker) и расширяет его, чтобы делать все, что вам нужно.
Есть некоторые вещи, которые вам нужно знать при переходе от стандартного к гибкому (например, мониторинг, ведение журнала, аутентификация и т. Д.), Но все они обсуждаются на странице гибкой среды, на которую я ссылался выше, и вы можете достичь состояния, когда гибкость в значительной степени ведет себя как стандарт (или, по крайней мере, насколько мне известно).