我正在尝试将 java 11 应用程序部署到谷歌云应用程序引擎 Flex 环境。以下是我的 app.yaml 文件:
runtime: java11
env: flex
handlers:
- url: /.*
script: this field is required, but ignored
secure: always
automatic_scaling:
min_num_instances: 2
cool_down_period_sec: 120
cpu_utilization:
target_utilization: 0.6
endpoints_api_service:
name: my-project-2-0-dev.appspot.com
config_id: 2023-08-16r1
readiness_check:
path: '/api/status/ready'
check_interval_sec: 30
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
liveness_check:
path: '/api/status/live'
check_interval_sec: 30
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
我正在使用 appengine-maven-plugin(版本 2.7.0)来暂存和部署我的项目。在项目目录中,这是我运行的命令:
mvn package appengine:stage
并出现以下错误:
[ERROR] Failed to execute goal com.google.cloud.tools:appengine-maven-plugin:2.7.0:stage (default-cli) on project server: Execution default-cli of goal com.google.cloud.tools:appengine-maven-plugin:2.7.0:stage failed: com.google.cloud.tools.appengine.AppEngineException: Docker directory <project_path>/src/main/docker does not contain Dockerfile.
我不打算使用 Docker 容器,但插件仍在寻找 Dockerfile。根据我的理解,它应该是从谷歌提供的预定义运行时中提取的。
另外,当我使用运行时:java时,我没有看到此错误
另外,当我使用运行时:java时,我没有看到此错误
这是 App Engine Flex 环境的正确 Java 运行时。如果你想指定
runtime_version
,你应该在runtime_config
下声明它。您的 app.yaml
应如下所示:
runtime: java
env: flex
runtime_config:
operating_system: "ubuntu22"
runtime_version: "11"
您可以参考 App Engine Flex 环境的 Java 运行时 的文档以供参考。
runtime: java11
仅适用于 App Engine 标准环境的 Java 运行时。