45

尝试新的灵活应用引擎运行时。在这种情况下,基于 google 提供的 ruby​​ 运行时的自定义 Ruby on Rails 运行时。

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

问候,

病房

4

6 回答 6

37

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

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

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

唯一花费大部分时间的过程是最后一部分,它会进行所有必要的检查以确保部署成功并开始接收流量。根据您的代码大小(上传代码以创建容器)和资源要求(提供自定义资源),步骤 2 和 3 可能需要更多时间。

如果您进行分析,您会发现大约 70% 的时间被消耗在最后一步,我们对此了解最少,但这是使应用引擎能够完成所有繁重工作的基本过程。

于 2016-06-08T01:16:22.580 回答
16

部署到相同版本让我在后续部署中从 6 分钟缩短到 3 分钟。

例子:

$ gcloud app deploy app.yaml --version=test
于 2016-10-19T11:07:55.137 回答
4

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

于 2017-10-06T15:20:14.573 回答
1

请注意,后续部署应该比 8 分钟快得多。我在 App Engine Flex 上使用 Node.js 进行的测试通常需要 1 分钟或更短时间。

于 2016-06-08T13:11:16.880 回答
1

正如上面@ludo 所建议的那样,您可以同时使用 Google App Engine Standard 而不是 Flex。其中,第一次部署后大约需要 30-50 秒。

您可以通过运行本教程来测试 GAE 标准,这不需要计费帐户:

https://codelabs.developers.google.com/codelabs/cloud-app-engine-springboot/index.html#0

并同意了。这并没有解决 GAE Flex 问题,但提供了一些在开发过程中加速的选项。

于 2019-03-04T22:37:14.520 回答
-10

只需从 app.yaml 的根目录触发此命令

从 shell 访问 app.yaml 目录,然后运行 ​​gcloud app deploy

它将在几秒钟内上传。

于 2018-01-15T08:01:27.333 回答