你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注意
基本计划、标准计划和企业计划于 2025 年 3 月 17 日进入停用期。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
本文适用于: ❎ 基本计划/标准计划 ✅ 企业计划
本文介绍如何排查 Azure Spring Apps 部署的生成问题。
生成退出代码
Azure Spring Apps 企业计划使用 Tanzu Buildpacks 将应用程序源代码转换为映像。 有关详细信息,请参阅 Tanzu Buildpacks。
使用 Azure CLI 在 Azure Spring Apps 中部署应用时,会在 Azure CLI 控制台中看到生成日志。 如果生成失败,Azure Spring Apps 会在 CLI 控制台中显示退出代码和错误消息,指示 Buildpack 执行在 Buildpack 生命周期的不同阶段失败的原因。
以下列表描述某些常见的退出代码:
20 - 未能检测到所有 Buildpack 组。
请考虑以下可能导致退出代码
20的原因:你正在使用的生成器不支持项目使用的语言。
如果你使用的是默认生成器,请检查默认生成器支持的语言。 有关详细信息,请参阅如何配置 APM 集成和 CA 证书的支持的 APM 类型部分。
如果你正在使用自定义生成器,请检查自定义生成器的 BuildPack 是否支持你的项目所使用的语言。
你正针对错误的路径运行;例如,Maven 项目的 pom.xml 文件不在根路径中。
设置
BP_MAVEN_POM_FILE以指定项目的 pom.xml 文件的位置。应用程序有问题;例如,.jar 文件没有 /META-INF/MANIFEST 文件,后者包含
Main-Class条目。
51 - Buildpack 生成错误。
请考虑以下可能导致出退出代码
51的原因:如果 Azure Spring Apps 在 Azure CLI 控制台中显示错误消息
Build failed in stage build with reason OOMKilled,则构建是因内存不足而失败。使用以下命令可通过
build-memory环境变量增加内存:az spring app deploy \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-name> \ --name <your-app-name> \ --build-memory 3Gi由于应用程序源代码错误,生成失败。例如,在你的源代码中有一个编译错误。
检查生成日志以查找根本原因。
由于下载依赖项错误,生成失败。例如,网络问题导致 Maven 依赖项下载失败。
由于不支持 JDK 版本,生成失败。 例如,JAR 文件是使用生成包不支持的非 Java LTS 版本编译的。 有关支持的版本,请参阅如何在 Azure Spring Apps 企业计划中部署多语言应用的部署 Java 应用程序部分。
62 - 未能将映像写入 Azure 容器注册表。
请考虑退出状态码
62的以下可能原因:如果 Azure Spring Apps 在生成日志中显示错误消息
Failed to write image to the following tags,则生成是由于网络问题而失败。重试以解决此问题。
如果你的应用程序是由 Web 服务器提供服务的静态文件或动态前端应用程序,请参阅“部署 Web 静态文件”的“常见生成和部署错误”部分。