You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Maven部署至GCP标准版失败:Python缺失问题求助

问题解决:Google Cloud Build部署报错python: command not found

问题根源

你遇到的问题是因为新版Google Cloud CLI(gcloud)的安装脚本依赖python命令,但gcr.io/cloud-builders/mvn:appengine镜像里只有python3可执行文件,没有创建python的别名,导致安装脚本找不到命令。

解决方案

方案1:添加Python别名(改动最小)

修改cloudbuild.yaml,先创建python到python3的软链接,再执行maven部署命令:

steps:
  - name: "gcr.io/cloud-builders/mvn:appengine"
    entrypoint: "bash"
    args: ["-c", "ln -s /usr/bin/python3 /usr/bin/python && mvn -D skipTests -D endpoints.project.id=$_ENDPOINTS_PROJECT_ID -D app.deploy.projectId=$_PROJECT_NAME clean package appengine:deploy -P $_PROFILE"]
timeout: "1600s"

方案2:指定固定版本的Google Cloud SDK

强制使用兼容的旧版gcloud SDK,避免自动拉取最新版:

steps:
  - name: "gcr.io/cloud-builders/mvn:appengine"
    args: ["-D", "skipTests", 
           "-D", "endpoints.project.id=$_ENDPOINTS_PROJECT_ID", 
           "-D", "app.deploy.projectId=$_PROJECT_NAME",
           "-D", "cloudsdk.version=456.0.0", # 选择兼容python3的稳定版本
           "clean", "package", "appengine:deploy", "-P", "$_PROFILE"]
timeout: "1600s"

方案3:更换为现代构建镜像

旧的gcr.io/cloud-builders系列镜像维护性较差,建议切换到官方maven镜像并自行安装gcloud CLI:

steps:
  - name: "maven:3.8-openjdk-17"
    entrypoint: "bash"
    args: ["-c", "
      apt-get update && apt-get install -y curl python3 &&
      curl https://sdk.cloud.google.com | bash &&
      source /root/.bashrc &&
      mvn -D skipTests -D endpoints.project.id=$_ENDPOINTS_PROJECT_ID -D app.deploy.projectId=$_PROJECT_NAME clean package appengine:deploy -P $_PROFILE
    "]
timeout: "1600s"

验证建议

优先尝试方案1,改动最小,能快速验证是否解决问题。如果后续出现其他兼容性问题,再考虑方案2或3。

内容的提问来源于stack exchange,提问作者DaveH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:47:40