Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 da compilação, você pode usar variáveis de ambiente para personalizar partes da compilação, como JDK, Maven e Tomcat. O artigo a seguir mostra como configurar variáveis de ambiente para ajudá-lo a assumir o controle sobre compilações que criam automaticamente um contêiner para você.
Variáveis de ambiente de construção Java suportadas
Configurar o JDK
Os aplicativos de contêiner usam o Microsoft Build do OpenJDK para criar código-fonte e como o ambiente de tempo de execução. Quatro versões LTS JDK são suportadas: 8, 11, 17 e 21.
Para a compilação do código-fonte, a versão padrão é JDK 17.
Para uma compilação de arquivo JAR, a versão JDK é lida do local
META-INF\MANIFEST.MF
do arquivo no JAR, mas usa a versão padrão do JDK 17 se a versão especificada não estiver disponível.
Aqui está uma lista das variáveis de ambiente usadas para configurar o JDK:
Variável de ambiente | Description | Predefinido |
---|---|---|
BP_JVM_VERSION |
Controla a versão da JVM. | 17 |
Configurar o Maven
O Container Apps suporta a criação de aplicativos baseados no Maven a partir do código-fonte.
Aqui está uma lista das variáveis de ambiente usadas para configurar o Maven:
Variável de ambiente de construção | Description | Predefinido |
---|---|---|
BP_MAVEN_VERSION |
Define a versão principal do Maven. Como o Buildpacks envia apenas uma única versão de cada linha suportada, as atualizações para o 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 invólucro Maven. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Define os argumentos passados para o Maven. O --batch-mode é prepended para a lista de argumentos em ambientes sem um TTY. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
Define argumentos extras usados (por exemplo, -DskipJavadoc anexados 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, a compilação aparece no módulo raiz. | |
BP_MAVEN_BUILT_ARTIFACT |
Localização do artefato de aplicativo construído. Este valor substitui a BP_MAVEN_BUILT_MODULE variável. Você pode corresponder a 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 pom.xml do projeto. Esse valor é relativo à raiz do projeto (por exemplo, /workspace). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
Aciona a instalação e configuração do Apache maven-mvnd em vez do Maven. Defina esse valor como true se quiser para o Maven Daemon. |
false |
BP_MAVEN_SETTINGS_PATH |
Especifica um local personalizado para o arquivo settings.xml do Maven. | |
BP_INCLUDE_FILES |
Colon lista separada de padrões glob para corresponder aos arquivos de origem. Qualquer arquivo correspondente é mantido na imagem final. | |
BP_EXCLUDE_FILES |
Colon lista separada de padrões glob para corresponder aos arquivos de origem. Qualquer ficheiro correspondente é 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 na compilação. | |
BP_JAVA_INSTALL_NODE |
Controle se um Buildpack separado instala ou não o Yarn e o 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 , a compilação requer apenas Node.js. |
false |
BP_NODE_PROJECT_PATH |
Direcione o subdiretório do projeto para procurar arquivos package.json e yarn.lock . |
Configurar o Tomcat
O Container Apps suporta a execução de arquivos war no servidor de aplicativos Tomcat.
Aqui está uma lista das variáveis de ambiente usadas para configurar o Tomcat:
Variável de ambiente de construção | Description | Predefinido |
---|---|---|
BP_TOMCAT_CONTEXT_PATH |
O caminho de contexto onde o aplicativo é montado. | O padrão é vazio (ROOT ) |
BP_TOMCAT_EXT_CONF_SHA256 |
O hash SHA256 do pacote de configuração externa. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
Quando definido como true , o Buildpack não configura org.apache.tomcat.util.digester.EnvironmentPropertySource o . Essa opção de configuração é adicionada para suportar o carregamento de configuração de variáveis de ambiente e a referência a elas em arquivos de configuração do Tomcat. |
|
BP_TOMCAT_EXT_CONF_STRIP |
O número de níveis de diretório a serem removidos do pacote de configuração externo. | 0 |
BP_TOMCAT_EXT_CONF_URI |
O URI de download do pacote de configuração externa. | |
BP_TOMCAT_EXT_CONF_VERSION |
A versão do pacote de configuração externa. | |
BP_TOMCAT_VERSION |
Usado para configurar uma versão específica do Tomcat. As versões suportadas do Tomcat incluem 8, 9 e 10. | 9.* |
Configurar o serviço Cloud Build
Aqui está uma lista das variáveis de ambiente usadas para configurar um Cloud Build Service:
Variável de ambiente de construção | Description | Predefinido |
---|---|---|
ORYX_DISABLE_TELEMETRY |
Controla se a coleta de telemetria deve ou não ser desabilitada. | false |
Como configurar variáveis de ambiente de construção Java
Nota
Para executar os seguintes comandos da CLI, use a versão da extensão Container Apps ou 0.3.47
superior. Use o az extension add --name containerapp --upgrade --allow-preview
comando para instalar a versão mais recente.
Você pode configurar variáveis de ambiente de construção Java ao implementar o código-fonte do aplicativo Java por meio do comando az containerapp up
CLI , 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 build-env-vars
argumento é uma lista de variáveis de ambiente para a compilação, valores separados por espaço no key=value
formato. Aqui está uma lista de exemplo 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 compilação Java ao configurar as Ações do GitHub com a CLI do Azure em 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>