首页 > 后端开发 > Golang > 如何在 Go 1.11 中使用 Google App Engine 标准验证私有 Go 模块?

如何在 Go 1.11 中使用 Google App Engine 标准验证私有 Go 模块?

Barbara Streisand
发布: 2024-10-26 03:59:27
原创
656 人浏览过

How to Authenticate Private Go Modules with Google App Engine Standard in Go 1.11?

在 Go 1.11 中使用 Google App Engine Standard 验证私有 Go 模块

更新现有 App Engine Standard 项目以在 Go 中使用 Go 模块时1.11,尝试使用私有存储库进行身份验证时可能会遇到错误。为了解决这个问题,我们将深入研究该问题并提供解决方案。

问题

尝试使用 gcloud app deploy 部署项目时,构建失败出现错误,指示禁止访问私有存储库。这是因为 Google Cloud Build 系统默认无权访问私有存储库。

解决方案

无需处理复杂的凭据管理,可以利用 Go 的模块替换功能使 GAE 能够使用本地代码。以下是步骤概述:

  1. 目录结构:

创建与提供的示例类似的目录结构,在其中分隔服务代码来自 GAE 特定代码。

  1. Go 模块:

在 GAE 目录中创建一个 go.mod 文件,指定所需的依赖项和使用模块替换指向您的私有模块的本地代码。

  1. 解析 Go 模块:

在构建之前,解析 go.mod从服务目录中获取正确版本的私有模块。

  1. 克隆私有模块:

将私有模块克隆到模块中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
登录后复制

优点:

  • 将服务包与任何 GAE 知识解耦,使其可以在 GAE 之外重用。
  • 简化依赖关系

警告:

  • 如果一个私有模块依赖于另一个私有模块,管理私有模块内的依赖关系可能会变得复杂。

以上是如何在 Go 1.11 中使用 Google App Engine 标准验证私有 Go 模块?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板