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