登录
首页 >  Golang >  Go问答

为何Go程序在部署到gcloud应用时失败?

来源:stackoverflow

时间:2024-02-24 20:33:26 341浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《为何Go程序在部署到gcloud应用时失败?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我正在尝试在 github 上设置以下存储库的本地版本,https://github.com/microsoft/mouselog,我没有更改任何内容,只是添加了包含以下内容的 app.yaml。

runtime: go112
env: standard

service: mouselogserver

当我使用 cli 工具运行 gcloud app deploy 时,它在执行以下命令时挂起至少 15 分钟。

DEBUG: Executing command: [u'mydir\\google_appengine\\go-app-stager.exe', u'mydir\\server\\app.yaml', u'mydir\\server', 'mydir\\local\\temp\\tmpdtk2gh\\tmpqcbdbm']

我假设这不是预期的行为?使用 nodejs 运行 gcloud app deploy 最多需要 30 秒。


解决方案


通常,部署预计不会花费 25 分钟。我将在下面解释一个可能的原因。

App Engine 部署与存储桶 staging..appspot.com 交互。该存储桶是在您第一次部署到 App Engine 时默认创建的,用于存储中间构建输出,以便以与 Docker 层类似的方式缩短即将进行的部署的时间。大多数时候,这不需要“重新构建”未更改的部分,从而有助于提高部署速度。

存储在临时存储桶中的文件将在插入 15 天后被清除。但是,如果应用程序部署次数较多且短时间内文件发生变化,则存储桶中会创建大量临时对象,并且存储桶的大小会不断增大。这可能会减慢部署速度,因为所有这些都将被扫描以搜索可重用的中间版本。

如果这听起来像您的用例,则有一种解决方法,即使用 gcloud flag --bucket,它允许使用用户提供的存储桶而不是暂存存储桶。

gcloud 应用程序部署 --bucket

尽管如此,如果这不能解决问题,您可能需要打开支持票证,以便进一步调查该问题,因为我们缺乏自己完成此操作的工具。

今天关于《为何Go程序在部署到gcloud应用时失败?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>