在 Go 1.11 中使用 Google App Engine Standard 验证私有 Go 模块
更新现有 App Engine Standard 项目以在 Go 中使用 Go 模块时1.11,尝试使用私有存储库进行身份验证时可能会遇到错误。为了解决这个问题,我们将深入研究该问题并提供解决方案。
问题
尝试使用 gcloud app deploy 部署项目时,构建失败出现错误,指示禁止访问私有存储库。这是因为 Google Cloud Build 系统默认无权访问私有存储库。
解决方案
无需处理复杂的凭据管理,可以利用 Go 的模块替换功能使 GAE 能够使用本地代码。以下是步骤概述:
创建与提供的示例类似的目录结构,在其中分隔服务代码来自 GAE 特定代码。
在 GAE 目录中创建一个 go.mod 文件,指定所需的依赖项和使用模块替换指向您的私有模块的本地代码。
在构建之前,解析 go.mod从服务目录中获取正确版本的私有模块。
将私有模块克隆到模块中GAE 目录中的文件夹。或者,您还可以复制 WIP 模块源代码以进行本地调试。
示例:
以下是 GAE 目录中的 go.mod 文件示例:
module myServiceGAE require ( bitbucket.org/me/myService v0.0.0 google.golang.org/appengine v1.4.0 ) replace bitbucket.org/me/myService => ./src replace bitbucket.org/me/myModule => ./modules/utils
优点:
警告:
以上是如何在 Go 1.11 中使用 Google App Engine 标准验证私有 Go 模块?的详细内容。更多信息请关注PHP中文网其他相关文章!