使用 App Engine 的标准 Go 环境 ( https://cloud.google.com/appengine/docs/standard/go ) 时,有没有办法拥有自定义 go 构建标志和工具?
理想情况下,我希望拥有:
go install
工具的go build
使用该工具的标志
但是我找不到任何方法来自定义该 App Engine 环境的自动构建。
使用 App Engine 的标准 Go 环境 ( https://cloud.google.com/appengine/docs/standard/go ) 时,有没有办法拥有自定义 go 构建标志和工具?
理想情况下,我希望拥有:
go install
工具的go build
使用该工具的标志但是我找不到任何方法来自定义该 App Engine 环境的自动构建。
我知道的唯一方法是使用 GCP AppEngine 灵活环境(请参阅https://cloud.google.com/appengine/docs/flexible)。你基本上flex
在你的环境中指定app.yaml
:
runtime: custom
env: flex
然后您可以通过使用指令FROM gcr.io/google-appengine/golang
(在 Github 上镜像:https ://github.com/GoogleCloudPlatform/golang-docker )重用标准 AppEngine Go 多阶段 Dockerfile 并将其扩展为您需要的任何内容。
从标准到灵活时,您需要注意一些事项(例如监控、日志记录、身份验证等),但所有这些都在我上面链接的灵活环境页面上进行了讨论,您可以达到灵活的状态几乎表现得像标准(或至少据我所知)。