尝试使用新的灵活应用引擎运行时。在这种情况下,基于谷歌提供的Ruby运行时的自定义Ruby on Rails运行时。
当触发gcloud preview app deploy
命令时,整个过程需要约8分钟,其中大部分时间都是“更新服务”。这正常吗?更重要的是,我该如何加快速度?
此致敬礼,
Ward
尝试使用新的灵活应用引擎运行时。在这种情况下,基于谷歌提供的Ruby运行时的自定义Ruby on Rails运行时。
当触发gcloud preview app deploy
命令时,整个过程需要约8分钟,其中大部分时间都是“更新服务”。这正常吗?更重要的是,我该如何加快速度?
此致敬礼,
Ward
是的,这是完全正常的。部署步骤中大部分都是在你的计算机之外进行且与代码库大小无关,因此你无法做太多事情来加速该过程。
将应用程序部署到App Engine涉及的各种步骤可以分为以下类别:
唯一需要大量时间的过程是最后一个部分,即进行所有必要的检查以确保部署成功和开始接受流量。根据您的代码大小(上传代码以创建容器)和资源要求(规划自定义资源),步骤2和3可能需要更长的时间。
如果你进行分析,你会发现大约70%的时间耗费在最后一个步骤中,这是我们最少能看到的部分,但它是赋予App Engine处理所有重活的能力的基本过程。
将代码部署到同一版本后,再次部署所需时间从6分钟缩短至3分钟。
示例:
$ gcloud app deploy app.yaml --version=test
请确保检查正在上传的zip文件中包含的内容(在部署时会告诉您其位置),并确保您的yaml skip_files设置包括您的.git目录(如果有)和node_modules等内容。
如@ludo所建议的那样,您可以在灵活性方面使用Google App Engine标准版。第一次部署后大约需要30-50秒左右。
您可以通过运行此教程来测试GAE标准版,无需开通计费账户:
https://codelabs.developers.google.com/codelabs/cloud-app-engine-springboot/index.html#0
我同意。这并没有涉及到GAE Flex,但提供了一些在开发过程中加速的选项。
只需从app.yaml的根目录执行此命令
从shell访问app.yaml目录,然后运行gcloud app deploy
它将在几秒钟内上传。