繁体   English   中英

将 Google App Engine 应用程序部署为单个 JAR 时如何指定实例类?

[英]How to specify an instance class when deploying a Google App Engine application as a single JAR?

我有一个应用程序,我将它作为单个 JAR 文件部署到 Google App Engine 标准 Java 11 环境(该应用程序是开源的,可在https://github.com/OndrejSpanel/Mixtio 获得)。 我希望应用程序使用实例类 F2 而不是默认的 F1。 当我尝试通过在命令行指定来提供我自己的 app.yaml 时,出现错误“所有 .yaml 文件必须具有唯一的服务 ID。”:

gcloud app deploy --project mixtio backend/target/scala-2.12/mixtio.jar backend/web/WEB-INF/cron.yaml backend/web/WEB-INF/app.yaml

错误:(gcloud.app.deploy) [D:\\Users\\xxx\\AppData\\Local\\Temp\\tmpmt01m6jp\\app.yaml] 和 [X:\\OpenSource\\Mixtio\\backend\\web\\WEB-INF\\app.yaml]都定义了服务 ID [默认]。 所有 .yaml 文件都必须具有唯一的服务 ID。

这是使用单个 jar 部署时由 Google Cloud 生成的默认配置的样子,如 App Engine 控制台中所示:

runtime: java11
env: standard
instance_class: F1
handlers:
  - url: .*
    script: auto
automatic_scaling:
  min_idle_instances: automatic
  max_idle_instances: automatic
  min_pending_latency: automatic
  max_pending_latency: automatic
network: {}

如何为部署为单个 jar 的应用程序配置诸如instance_class参数?

尝试传递参数--appyaml =backend/web/WEB-INF/app.yaml ,以便更明确。 另请参阅: 默认服务 使用预定义的*.yaml文件名时,可能不必指定它们,因为已经知道它们的含义。

如果您有多个应用程序要部署,只需运行例如:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.standard.yaml

要部署的实例类是通过参数instance_class根据app.yaml定义的。

定义运行时设置也解释了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM