appengine-maven-plugin 执行出错,因为找不到 Dockerfile

问题描述 投票:0回答:1

我正在尝试将 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 google-app-engine appengine-maven-plugin
1个回答
0
投票

另外,当我使用运行时: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 运行时

© www.soinside.com 2019 - 2024. All rights reserved.