尝试新的灵活应用引擎运行时。在这种情况下,基于 google 提供的 ruby 运行时的自定义 Ruby on Rails 运行时。
整个过程的触发gcloud preview app deploy
大约需要 8 分钟,其中大部分是“更新服务”。这是正常的吗?更重要的是,我怎样才能加快速度?
问候,
病房
尝试新的灵活应用引擎运行时。在这种情况下,基于 google 提供的 ruby 运行时的自定义 Ruby on Rails 运行时。
整个过程的触发gcloud preview app deploy
大约需要 8 分钟,其中大部分是“更新服务”。这是正常的吗?更重要的是,我怎样才能加快速度?
问候,
病房
是的,这完全正常。大多数部署步骤都发生在您的计算机之外,并且与您的代码库大小无关,因此您无法做很多事情来加快进程。
在 App Engine 上部署应用程序所涉及的各个步骤可分类如下:
唯一花费大部分时间的过程是最后一部分,它会进行所有必要的检查以确保部署成功并开始接收流量。根据您的代码大小(上传代码以创建容器)和资源要求(提供自定义资源),步骤 2 和 3 可能需要更多时间。
如果您进行分析,您会发现大约 70% 的时间被消耗在最后一步,我们对此了解最少,但这是使应用引擎能够完成所有繁重工作的基本过程。
部署到相同版本让我在后续部署中从 6 分钟缩短到 3 分钟。
例子:
$ gcloud app deploy app.yaml --version=test
确保检查它正在上传的 zip 中的内容(它会告诉您部署时的位置),并确保您的 yaml skip_files 设置为包含 .git 目录(如果有的话)和 node_modules
请注意,后续部署应该比 8 分钟快得多。我在 App Engine Flex 上使用 Node.js 进行的测试通常需要 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 问题,但提供了一些在开发过程中加速的选项。
只需从 app.yaml 的根目录触发此命令
从 shell 访问 app.yaml 目录,然后运行 gcloud app deploy
它将在几秒钟内上传。