【问题标题】:How to deploy multiple versions of an java application from a single app.yaml file in Google App Engine如何从 Google App Engine 中的单个 app.yaml 文件部署 Java 应用程序的多个版本
【发布时间】:2020-04-09 14:11:49
【问题描述】:

我正在尝试在具有多个版本的应用引擎上部署 java spring 应用程序。我正在使用 docker images 来部署应用程序。我想创建一个 app.yaml 文件,我可以在其中定义我的两个版本的应用程序并从一个文件运行它们。

我无法理解如何在一个文件中为这两个版本编写 app.yaml。目前我的 yaml 文件如下所示:

runtime: java
api_version: '1.0'
env: flexible
threadsafe: true

现在如何在同一个 yaml 中添加第二个版本的详细信息并同时部署。

【问题讨论】:

    标签: google-app-engine app-engine-flexible multiple-versions


    【解决方案1】:

    我认为不可能同时部署一个 gcloud 应用并从同一个 app.yaml 部署 2 个版本。

    我认为您可以解决您需要的问题是尝试使用具有您的版本名称的不同 $ENV_VARIABLES 进行 2 gcloud deploy。所有这些都在 docker 映像中,因此您可以将其自动化。之后,您还可以在它们之间拆分流量 2 并实现我认为您正在寻找的目标。

    在你的 docker 镜像中会是这样的:

    RUN gcloud app deploy -v $ENV_VAR && gcloud app deploy -v $ENV_VAR2 --no-promote
    
    RUN gcloud app services set-traffic [SERVICE] --splits:$ENV_VAR1:.5, $ENV_VAR2:.5
    

    更多信息如何在版本之间set-traffic

    希望这会有所帮助。

    【讨论】:

    • 谢谢@stefan。我使用单独的 yaml 做了同样的事情。
    猜你喜欢
    • 2011-07-01
    • 2018-09-30
    • 2021-07-10
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多