Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os Aplicativos de Contêiner do Azure usam Buildpacks para criar automaticamente uma imagem de contêiner que permite implantar a partir do código-fonte diretamente na nuvem. Para assumir o controle da configuração do build, você pode usar variáveis de ambiente para personalizar partes do seu build, como o JDK, o Maven e o Tomcat. O artigo a seguir mostra como configurar variáveis de ambiente para ajudá-lo a assumir o controle sobre os builds que criam automaticamente um contêiner para você.
Variáveis de ambiente de build do Java com suporte
Configurar o JDK
Os Aplicativos de Contêiner usam o Microsoft Build do OpenJDK para criar o código-fonte e como ambiente de runtime. Há suporte para quatro versões do JDK LTS: 8, 11, 17 e 21.
Para o build de código-fonte, a versão padrão é o JDK 17.
Para um build de arquivo JAR, a versão do JDK é lida do local do arquivo
META-INF\MANIFEST.MF
no JAR, mas usa o JDK padrão versão 17 se a versão especificada não estiver disponível.
Aqui está uma listagem das variáveis de ambiente usadas para configurar o JDK:
Variável de ambiente | Descrição | Padrão |
---|---|---|
BP_JVM_VERSION |
Controla a versão da JVM. | 17 |
Configurar Maven
Os Aplicativos de Contêiner dão suporte à criação de aplicativos baseados em Maven a partir da origem.
Aqui está uma listagem das variáveis de ambiente usadas para configurar o Maven:
Variável de ambiente de build | Descrição | Padrão |
---|---|---|
BP_MAVEN_VERSION |
Define a versão principal do Maven. Como os Buildpacks fornecem apenas uma única versão de cada linha com suporte, as atualizações no buildpack podem alterar a versão exata do Maven instalada. Se você precisar de uma versão secundária/patch específica do Maven, use o wrapper do Maven. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Define os argumentos passados para o Maven. O --batch-mode é anexado à lista de argumentos em ambientes sem um TTY. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
Define os argumentos extras usados (por exemplo, -DskipJavadoc acrescentado a BP_MAVEN_BUILD_ARGUMENTS ) para passar para o Maven. |
|
BP_MAVEN_ACTIVE_PROFILES |
Lista separada por vírgulas de perfis ativos passados para o Maven. | |
BP_MAVEN_BUILT_MODULE |
Designa o artefato do aplicativo que contém o módulo. Por padrão, o build é exibido no módulo raiz. | |
BP_MAVEN_BUILT_ARTIFACT |
Local do artefato do aplicativo criado. Esse valor substitui a variável BP_MAVEN_BUILT_MODULE . Você pode combinar um único arquivo, vários arquivos ou um diretório por meio de um ou mais padrões separados por espaço. |
target/*.[ejw]ar |
BP_MAVEN_POM_FILE |
Especifica um local personalizado para o arquivo de pom.xmldo projeto. Esse valor é relativo à raiz do projeto (por exemplo, /workspace). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
Dispara a instalação e a configuração do Apache maven-mvnd em vez do Maven. Defina esse valor como true se você quiser o Daemon do Maven. |
false |
BP_MAVEN_SETTINGS_PATH |
Especifica um local personalizado para o arquivo settings.xml do Maven. | |
BP_INCLUDE_FILES |
Lista separada por dois pontos de padrões glob para combinar os arquivos de origem. Qualquer arquivo combinado é mantido na imagem final. | |
BP_EXCLUDE_FILES |
Lista separada por dois pontos de padrões glob para combinar os arquivos de origem. Qualquer arquivo combinado é removido da imagem final. Todos os padrões de inclusão são aplicados primeiro e você pode usar "excluir padrões" para reduzir os arquivos incluídos no build. | |
BP_JAVA_INSTALL_NODE |
Controla se um Buildpack separado instala ou não o Yarn e Node.js. Se definido como true , o Buildpack verifica a raiz do aplicativo ou o caminho definido por BP_NODE_PROJECT_PATH . O caminho do projeto procura um arquivo yarn.lock, que requer a instalação do Yarn e do Node.js. Se houver um arquivo package.json, o build exigirá apenas o Node.js. |
false |
BP_NODE_PROJECT_PATH |
Direcione o subdiretório do projeto para procurar arquivos package.json e yarn.lock. |
Configurar o Tomcat
Os Aplicativos de Contêiner dão suporte à execução de arquivos war no servidor de aplicativos Tomcat.
Aqui está uma listagem das variáveis de ambiente usadas para configurar o Tomcat:
Variável de ambiente de build | Descrição | Padrão |
---|---|---|
BP_TOMCAT_CONTEXT_PATH |
O caminho de contexto onde o aplicativo está montado. | Assume o padrão de vazio (ROOT ) |
BP_TOMCAT_EXT_CONF_SHA256 |
O hash SHA256 do pacote de configuração externo. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
Quando definido como true , o Buildpack não configura org.apache.tomcat.util.digester.EnvironmentPropertySource . Essa opção de configuração é adicionada para dar suporte ao carregamento das configurações de variáveis de ambiente e referenciá-las nos arquivos de configuração do Tomcat. |
|
BP_TOMCAT_EXT_CONF_STRIP |
O número de níveis de diretório a serem retirados do pacote de configuração externo. | 0 |
BP_TOMCAT_EXT_CONF_URI |
O URI de download do pacote de configuração externo. | |
BP_TOMCAT_EXT_CONF_VERSION |
A versão do pacote de configuração externo. | |
BP_TOMCAT_VERSION |
Usado para configurar uma versão específica do Tomcat. As versões do Tomcat com suporte incluem 8, 9 e 10. | 9.* |
Configurar o Serviço de Build na Nuvem
Aqui está uma listagem das variáveis de ambiente usadas para configurar um Serviço de Build na Nuvem:
Variável de ambiente de build | Descrição | Padrão |
---|---|---|
ORYX_DISABLE_TELEMETRY |
Controla se a coleta de telemetria deve ou não ser desabilitada. | false |
Como configurar variáveis de ambiente de build do Java
Observação
Para executar os comandos da CLI a seguir, use a versão 0.3.47
de extensão de Aplicativos de Contêiner ou superior. Use o comando az extension add --name containerapp --upgrade --allow-preview
para instalar a versão mais recente.
Você pode configurar variáveis de ambiente de build do Java ao implantar o código-fonte do aplicativo Java por meio do comando da CLI az containerapp up
, az containerapp create
ou az containerapp update
:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY> \
--build-env-vars <NAME=VALUE NAME=VALUE> \
--resource-group <RESOURCE_GROUP_NAME> \
--environment <ENVIRONMENT_NAME>
O argumento build-env-vars
é uma lista de variáveis de ambiente para o build, valores separados por espaço no formato key=value
. Aqui está uma lista de exemplos que você pode passar como variáveis:
BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"
Você também pode configurar as variáveis de ambiente de build do Java ao configurar o GitHub Actions com a CLI do Azure nos Aplicativos de Contêiner do Azure.
az containerapp github-action add \
--repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
--build-env-vars <NAME=VALUE NAME=VALUE> \
--branch <BRANCH_NAME> \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--registry-url <URL_TO_CONTAINER_REGISTRY> \
--registry-username <REGISTRY_USER_NAME> \
--registry-password <REGISTRY_PASSWORD> \
--service-principal-client-id <appId> \
--service-principal-client-secret <password> \
--service-principal-tenant-id <tenant> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>