使用 Go 1.11 对 Google App Engine Standard 中的私有 Go 模块进行身份验证
将 Go App Engine Standard 项目更新为 Go 1.11 模块时,身份验证对于私有模块来说可能会带来挑战。默认情况下,Google Cloud 构建系统无权访问私有存储库。
错误:
尝试部署包含私有模块的项目时,出现错误可能会出现类似以下情况:
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build <GUI> status: FAILURE. Build error details: go: bitbucket.org/[email protected]: https://api.bitbucket.org/2.0/repositories/myPrivateRepo?fields=scm: 403 Forbidden
可以完成吗?
是的,可以使用 Go 1.11 模块对 App Engine Standard 中的私有模块进行身份验证。但是,迁移文档中有关将文件移动到 GOPATH 的指导具有误导性。新的模块系统确实旨在将代码保留在 GOPATH 之外。
解决方案:使用模块替换
更好的解决方案是使用 Go 的凭证,而不是管理凭据模块替换功能。这允许本地项目在构建过程中使用私有模块的本地副本。
方法:
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中文网其他相关文章!