gcloud preview 应用程序部署过程需要大约 8 分钟,这正常吗?
gcloud preview app deploy process takes ~8 minutes, is this normal?
尝试新的灵活应用引擎运行时。在这种情况下,Rails 运行时上的自定义 Ruby 基于 google 提供的 ruby 运行时。
当发射 gcloud preview app deploy
时,整个过程大约需要 8 分钟,其中大部分是 "updating service"。这是正常的吗?更重要的是,我怎样才能加快速度?
此致,
选区
是的,这是完全正常的。大多数部署步骤发生在您的计算机之外,并且与您的代码库大小无关,因此您可以做很多事情来加快该过程。
在 App Engine 上部署应用程序所涉及的各种步骤可归类如下:
- 从 app.yaml 收集信息以了解整体部署
- 收集代码并使用 app.yaml 中指定的 docker 图像,用您的代码构建一个 docker 图像
- 配置计算实例,networking/firewall规则,在实例上安装docker相关工具,将docker映像推送到实例并启动它
- 确保所有部署都成功,开始运行状况检查,如果需要,transfer/balance 卸载。
唯一花费大部分时间的过程是最后一部分,它执行所有必要的检查以确保部署成功并开始摄取流量。根据您的代码大小(上传代码以创建容器)和资源要求(配置自定义资源),第 2 步和第 3 步可能需要更多时间。
如果您进行分析,您会发现大约 70% 的时间花在了最后一步,我们对这一步骤的可见性最低,但却是让应用引擎能够完成所有繁重工作的基本过程。
请注意,后续部署应该比 8 分钟快得多。我在 App Engine Flex 上使用 Node.js 进行的测试通常只需 1 分钟或更短时间。
部署到同一版本使我在后续部署中的时间从 6 分钟缩短到 3 分钟。
示例:
$ gcloud app deploy app.yaml --version=test
确保你检查它正在上传的 zip 中的内容(它告诉你它在部署时的位置),并确保你的 yaml skip_files 设置为包含你的 .git 目录(如果有的话),并且 node_modules
只需从 app.yaml
的根目录启动此命令
从 shell 访问 app.yaml 的目录然后 运行 gcloud app deploy
它将在几秒钟内上传。
正如上面@ludo 所建议的那样,您可以同时使用 Google App Engine Standard 而不是 Flex。第一次部署后大约需要 30-50 秒。
您可以通过运行本教程测试 GAE Standard,不需要计费帐户:
https://codelabs.developers.google.com/codelabs/cloud-app-engine-springboot/index.html#0
并同意了。这不涉及 GAE Flex,但提供了一些选项以在开发过程中加速。
尝试新的灵活应用引擎运行时。在这种情况下,Rails 运行时上的自定义 Ruby 基于 google 提供的 ruby 运行时。
当发射 gcloud preview app deploy
时,整个过程大约需要 8 分钟,其中大部分是 "updating service"。这是正常的吗?更重要的是,我怎样才能加快速度?
此致,
选区
是的,这是完全正常的。大多数部署步骤发生在您的计算机之外,并且与您的代码库大小无关,因此您可以做很多事情来加快该过程。
在 App Engine 上部署应用程序所涉及的各种步骤可归类如下:
- 从 app.yaml 收集信息以了解整体部署
- 收集代码并使用 app.yaml 中指定的 docker 图像,用您的代码构建一个 docker 图像
- 配置计算实例,networking/firewall规则,在实例上安装docker相关工具,将docker映像推送到实例并启动它
- 确保所有部署都成功,开始运行状况检查,如果需要,transfer/balance 卸载。
唯一花费大部分时间的过程是最后一部分,它执行所有必要的检查以确保部署成功并开始摄取流量。根据您的代码大小(上传代码以创建容器)和资源要求(配置自定义资源),第 2 步和第 3 步可能需要更多时间。
如果您进行分析,您会发现大约 70% 的时间花在了最后一步,我们对这一步骤的可见性最低,但却是让应用引擎能够完成所有繁重工作的基本过程。
请注意,后续部署应该比 8 分钟快得多。我在 App Engine Flex 上使用 Node.js 进行的测试通常只需 1 分钟或更短时间。
部署到同一版本使我在后续部署中的时间从 6 分钟缩短到 3 分钟。
示例:
$ gcloud app deploy app.yaml --version=test
确保你检查它正在上传的 zip 中的内容(它告诉你它在部署时的位置),并确保你的 yaml skip_files 设置为包含你的 .git 目录(如果有的话),并且 node_modules
只需从 app.yaml
的根目录启动此命令从 shell 访问 app.yaml 的目录然后 运行 gcloud app deploy
它将在几秒钟内上传。
正如上面@ludo 所建议的那样,您可以同时使用 Google App Engine Standard 而不是 Flex。第一次部署后大约需要 30-50 秒。
您可以通过运行本教程测试 GAE Standard,不需要计费帐户:
https://codelabs.developers.google.com/codelabs/cloud-app-engine-springboot/index.html#0
并同意了。这不涉及 GAE Flex,但提供了一些选项以在开发过程中加速。