Solucionar problemas comuns de compilação no Azure Spring Apps
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a:❌ Basic/Standard ✔️ Enterprise
Este artigo descreve como solucionar problemas de compilação com sua implantação do Azure Spring Apps.
Criar códigos de saída
O plano do Azure Spring Apps Enterprise usa o Tanzu Buildpacks para transformar o código-fonte do seu aplicativo em imagens. Para obter mais informações, consulte Tanzu Buildpacks.
Quando você implanta seu aplicativo no Azure Spring Apps usando a CLI do Azure, você vê um log de compilação no console da CLI do Azure. Se a compilação falhar, o Azure Spring Apps exibirá um código de saída e uma mensagem de erro no console da CLI indicando por que a execução do buildpack falhou durante diferentes fases do ciclo de vida do buildpack.
A lista a seguir descreve alguns códigos de saída comuns:
20 - Todos os grupos buildpack não conseguiram detetar.
Considere as seguintes causas possíveis de um código de saída de 20:
O construtor que você está usando não suporta a linguagem que seu projeto usou.
Se você estiver usando o construtor padrão, verifique o idioma suportado pelo construtor padrão. Para obter mais informações, consulte a seção Tipos de APM suportados de Como configurar a integração APM e certificados de CA.
Se você estiver usando o construtor personalizado, verifique se o buildpack do construtor personalizado suporta o idioma usado pelo projeto.
Você está correndo contra o caminho errado; por exemplo, o arquivo de pom.xml do seu projeto Maven não está no caminho raiz.
Defina
BP_MAVEN_POM_FILE
para especificar o local do arquivo pom.xml do projeto.Há algo errado com seu aplicativo; por exemplo, seu arquivo .jar não tem um /META-INF/MANIFEST. MF que contém uma
Main-Class
entrada.
51 - Erro de compilação do Buildpack.
Considere as seguintes causas possíveis de um código de saída de 51:
Se o Azure Spring Apps exibir a mensagem
Build failed in stage build with reason OOMKilled
de erro no console da CLI do Azure, a compilação falhou devido à memória insuficiente.Use o seguinte comando para aumentar a memória usando a
build-memory
variável de ambiente:az spring app deploy \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-name> \ --name <your-app-name> \ --build-memory 3Gi
A compilação falhou devido a um erro de código-fonte do aplicativo; por exemplo, há um erro de compilação no código-fonte.
Verifique o log de compilação para encontrar a causa raiz.
A compilação falhou devido a um erro de dependência de download; por exemplo, um problema de rede fez com que o download da dependência do Maven falhasse.
A compilação falhou devido a uma versão JDK não suportada. Por exemplo, o arquivo JAR foi compilado usando versões LTS não-Java, que não são suportadas pelo buildpack. Para obter versões com suporte, consulte a seção Implantar aplicativos Java de Como implantar aplicativos poliglotas no plano do Azure Spring Apps Enterprise.
62 - Falha ao gravar a imagem no Registro de Contêiner do Azure.
Considere a seguinte causa possível de um código de saída de 62:
Se o Azure Spring Apps exibir a mensagem
Failed to write image to the following tags
de erro no log de compilação, a compilação falhou devido a um problema de rede.Tente corrigir novamente o problema.
Se seu aplicativo for um arquivo estático ou um aplicativo front-end dinâmico servido por um servidor Web, consulte a seção Erros comuns de compilação e implantação de Implantar arquivos estáticos da Web.