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

触发Google Cloud Build时提示Python未找到的问题求助

解决Cloud Build中执行mvn appengine:deploy时出现python: not found的问题

问题原因

你使用的maven:3-eclipse-temurin-17-alpine是基于Alpine Linux的镜像,该镜像默认未预装Python,且Google Cloud SDK的安装脚本会查找python命令——而Alpine中即使安装Python,默认命令也是python3,这就导致了脚本执行失败。

解决方案(两种可选)

方案一:在Alpine镜像中补充Python环境

修改cloudbuild.yaml中执行appengine:deploy的步骤,先安装Python3并创建python软链接,再执行Maven命令:

steps:
  - name: maven:3-eclipse-temurin-17-alpine
    entrypoint: mvn
    args: [ "test" ]
  - name: maven:3-eclipse-temurin-17-alpine
    entrypoint: sh
    args:
      - -c
      - |
        apk add --no-cache python3 && ln -sf python3 /usr/bin/python
        mvn package -Dmaven.test.skip=true appengine:deploy
  - name: gcr.io/cloud-builders/docker
    args: [ "build", "-t", "gcr.io/$PROJECT_ID/backend", "--build-arg=JAR_FILE=target/backend-0.0.1.jar", "." ]
images: [ "gcr.io/$PROJECT_ID/backend" ]

方案二:改用Cloud Build官方gcloud镜像部署

放弃通过Maven插件下载gcloud SDK,直接使用Cloud Build提供的gcr.io/cloud-builders/gcloud镜像完成App Engine部署,该镜像已预配置好完整的gcloud环境:

steps:
  - name: maven:3-eclipse-temurin-17-alpine
    entrypoint: mvn
    args: [ "test" ]
  - name: maven:3-eclipse-temurin-17-alpine
    entrypoint: mvn
    args: [ "package", "-Dmaven.test.skip=true" ]
  # 用官方gcloud镜像部署App Engine
  - name: gcr.io/cloud-builders/gcloud
    args: [ "app", "deploy", "app.yaml" ]
  - name: gcr.io/cloud-builders/docker
    args: [ "build", "-t", "gcr.io/$PROJECT_ID/backend", "--build-arg=JAR_FILE=target/backend-0.0.1.jar", "." ]
images: [ "gcr.io/$PROJECT_ID/backend" ]

注意:使用此方案时,确保你的项目根目录存在正确配置的app.yaml文件,否则部署会失败。

额外说明

方案二更推荐,因为官方gcloud builder镜像维护更稳定,能避免后续因环境依赖缺失导致的其他问题,同时也更符合Cloud Build的最佳实践。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 02:37:33