簡體   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