gcloud预览应用程序部署过程需要大约8分钟,这是正常的吗?

War*_*ker 38 google-app-engine google-cloud-platform gcloud app-engine-flexible

尝试新的灵活的应用程序引擎运行时.在这种情况下,基于谷歌提供的ruby运行时的自定义Ruby on Rails运行时.

gcloud preview app deploy整个过程的发射需要大约8分钟时,其中大部分是"更新服务".这是正常的吗?更重要的是,我怎样才能加快速度呢?

问候,

病房

Vik*_*ari 33

是的,这是完全正常的.大多数部署步骤都是在您的计算机之外进行的,并且与您的代码库大小无关,因此您无法做很多事情来加快这一过程.

在App Engine上部署应用程序涉及的各个步骤可分为以下几类:

  1. 从app.yaml收集信息以了解整体部署
  2. 收集代码并使用app.yaml中指定的docker镜像,使用您的代码构建docker镜像
  3. 提供计算实例,网络/防火墙规则,在实例上安装与docker相关的工具,将docker映像推送到实例并启动它
  4. 确保所有部署都成功,启动运行状况检查,并在必要时转移/平衡负载.

占用大部分时间的唯一过程是最后一部分,它执行所有必要的检查以确保部署成功并开始摄取流量.根据您的代码大小(上载代码以创建容器)和资源需求(配置自定义资源),步骤2和3可能需要更多时间.

如果你进行分析,你会发现大约70%的时间是在最后一步消耗的,我们对它的了解最少,但是必要的过程让app-engine能够完成所有繁重的工作.

  • 我一直在处理这个问题,我们经常在 12-15 分钟内为一个 aspnet 核心 flex 实例打卡。我不相信检查/负载平衡的说法,因为在不促进的情况下部署仍然需要很长时间,应用程序的启动时间不到 2 秒,健康检查很轻(我们从早期开始每秒得到 2 次)。Docker 镜像在 < 1 分钟内构建。您甚至可以下载 docker 镜像并以比他们快 10 倍的速度部署在您自己的机器上。flex 实例部署生态系统中的某些东西被严重破坏了。 (2认同)

Eya*_*vin 14

在后续部署中,部署到相同版本的时间从6分钟到3分钟不等.

例:

$ gcloud app deploy app.yaml --version=test
Run Code Online (Sandbox Code Playgroud)


Ton*_*ter 5

确保检查正在上传的 zip 中的内容(它会告诉您部署时的位置),并确保您的 yamlskip_files 设置为包含 .git 目录(如果有的话)和 node_modules 之类的内容