2016-06-07 24 views
22

尝试新的灵活的应用程序引擎运行时。在这种情况下,基于谷歌的定制Ruby on Rails运行时提供了ruby运行时。gcloud预览app部署过程需要~8分钟,这是正常的吗?

当发射gcloud preview app deploy整个过程需要8分钟,其中大部分是“更新服务”。这是正常的吗?更重要的是,我如何加快速度?

问候,

沃德

+3

这很正常,你正在建设和上传码头图像 –

+0

我在那里回答这个问题,也许你可以看到它。 http://stackoverflow.com/a/37806746/2746292 –

回答

18

是的,这是完全正常的。大多数部署步骤都是远离您的计算机,并且与您的代码库大小无关,所以您可以做很多事情来加速此过程。

  1. 从收集的app.yaml信息,以了解整体部署
  2. 收集代码,并使用指定的搬运工图像:

    所涉及到部署在App Engine应用程序

    各个步骤可归纳如下app.yaml中建立一个码头工人形象与您的代码

  3. 规定计算实例,网络/防火墙规则,比如上安装搬运工相关的工具,推动码头工人形象的实例并启动它
  4. 确保所有部署成功,ST艺术健康检查,如果需要,转移/平衡负荷。

收集代码,并使用app.yaml中指定的码头工人形象打造 泊坞窗图像与您的代码提供计算实例, 网络/防火墙规则,比如上安装搬运工相关的工具, 推搬运工图像实例并启动它确保所有 部署都成功,开始健康检查,如果需要, 传输/平衡负载。

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

如果你做了一个分析,你会发现大约70%的时间消耗在最后一步,在那里我们最不可见,但是让应用引擎能够完成所有繁重工作的重要过程。

0

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

+1

不确定,但如果您在相同的服务和版本上部署,应该是这种情况。如果它是较新的版本或不同的服务,则需要相似的持续时间。这意味着补丁会很快得到应用,但推出/回滚速度很慢。 –

+14

根据我的经验,后续版本的部署时间不会提高。 –

+1

在Gitlab CI –

8

部署到相同的版本让我在随后的部署中从6分钟到3分钟。

例子:

$ gcloud app deploy app.yaml --version=test 
0

请务必检查什么是它的上传(它告诉你的这个上部署的位置)的zip,并确保您的YAML skip_files设置为包括像你的东西。 git目录,如果你有一个,并且node_modules

0

只需从app的根目录激发此命令。YAML

从app.yaml中的壳访问目录,然后执行gcloud应用部署

它会在几秒钟内被上传。

+1

我认为你使用的是标准env,问题是关于灵活的env,它需要很长的时间 –

相关问题