Implantar seu aplicativo Web no Serviço de Aplicativo do Azure
O azure-webapp-maven-plugin
tem dois objetivos para desenvolvedores Java: o primeiro é facilitar o gerenciamento e a configuração do plug-in do Serviço de Aplicativo do Azure e o segundo é simplificar a implantação de projetos Maven no Serviço de Aplicativo do Azure. No exercício anterior, você criou um rápido exemplo de aplicativo Web Java "hello world" e testou-o localmente. Adicionar o plug-in Maven para o Serviço de Aplicativo do Azure ao seu projeto permite que você implante seu aplicativo no Serviço de Aplicativo do Azure.
Nesta unidade, você examinará as opções para sua empresa hospedar seus aplicativos no Serviço de Aplicativo do Azure e, em seguida, aprenderá como adicionar e configurar o azure-webapp-maven-plugin
ao seu projeto Maven.
Introdução ao Serviço de Aplicativo do Azure
O Serviço de Aplicativo do Azure permite que você hospede os sites, aplicativos Web, APIs REST e outros códigos de aplicativo da sua empresa no Azure. O código do seu projeto está sendo executado na nuvem; Não é necessário provisionar ou configurar nenhuma infraestrutura. A execução do seu aplicativo Web no Serviço de Aplicativo do Azure oferece todos os benefícios da execução no Azure: seu aplicativo está disponível globalmente, é dimensionado automaticamente, tem segurança e conformidade internas e você paga apenas pelos recursos que usa.
O Serviço de Aplicativo do Azure dá suporte a várias linguagens de programação, o que permite que os desenvolvedores continuem escrevendo seus aplicativos usando as linguagens com as quais se sentem mais confortáveis. Java é um cidadão de primeira classe, juntamente com outras linguagens como .NET Core, Python, Node.js, etc. Você pode hospedar os aplicativos Web criados no Linux, Windows ou dentro de um contêiner do Docker. Antes de implantar seu aplicativo Web no Azure, você criará um plano do Serviço de Aplicativo no Azure que especifica o sistema operacional e a camada de preço, que determina o tamanho dos recursos de computação provisionados de que seu aplicativo precisa.
Fluxos de trabalho do Maven
O Maven tem três ciclos de vida integrados para projetos de construção: default
, clean
e site
, onde o ciclo de vida default
inclui as seguintes fases:
Fase | Descrição |
---|---|
compile |
Compila seu código |
package |
Empacota seu código em um JAR ou WAR |
install |
Instala o pacote em seu repositório local |
deploy |
Copia o pacote final para o repositório remoto |
No entanto, ao usar o plug-in Maven para o Serviço de Aplicativo do Azure, você não usará a fase de implantação incluída no ciclo de vida default
do Maven. Em vez disso, você implantará seu aplicativo no Azure com o comando mvn azure-webapp:deploy
.
Adicionando o plug-in Maven para o Serviço de Aplicativo do Azure ao seu projeto
Para adicionar o Plug-in Maven para o Serviço de Aplicativo do Azure ao seu aplicativo Web, você adicionaria o XML para azure-webapp-maven-plugin
ao arquivo de pom.xml
do seu projeto, da seguinte forma:
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>2.13.0</version>
</plugin>
No entanto, o plugin fornece uma maneira conveniente e interativa de adicionar configurações ao seu arquivo POM:
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
O plug-in solicita as informações necessárias para configurar o plano do Serviço de Aplicativo. Depois de confirmar suas escolhas, o plug-in adiciona o elemento de plug-in anterior e as configurações necessárias ao arquivo de pom.xml
do seu projeto que configura seu aplicativo Web para ser executado no Serviço de Aplicativo do Azure.
Observação
Verifique o Maven Plugin para documentação do Serviço de Aplicativo do Azureou o Maven Central Repository, para obter informações sobre a versão mais recente do plug-in Maven.
Opções de configuração
A seção anterior desta unidade demonstrou o uso interativo do plug-in Maven para o Serviço de Aplicativo do Azure para configurar seu aplicativo Web. No entanto, você não precisa executar a configuração interativamente. Se desejar, você pode adicionar o XML do plug-in ao arquivo pom.xml
do seu projeto manualmente.
O seguinte trecho anotado de um arquivo pom.xml
demonstra algumas das configurações necessárias:
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>2.13.0</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<subscriptionId>aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e</subscriptionId>
<resourceGroup>learn-9c627899-58ae-4ef5-9630-3336ec7bce0c</resourceGroup>
<appName>MyWebApp-1610102860270</appName>
<pricingTier>S1</pricingTier>
<region>westus</region>
<runtime>
<os>Linux</os>
<javaVersion>Java 17</javaVersion>
<webContainer>Tomcat 10.0</webContainer>
</runtime>
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.war</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
Algumas das opções de configuração relevantes estão na tabela a seguir. Para obter uma lista completa de opções, consulte a documentação do Maven Plugin for Azure App Service.
Etiqueta | Opções |
---|---|
<javaVersion> |
Linux suporta versões 8, 11 e 17 O Windows suporta as versões 8, 11 e 17 |
<webContainer> |
Linux suporta Tomcat, JBoss EAP 7.2 e Java SE O Windows suporta Tomcat e Java SE |
<resource> |
Especifica onde o WAR ou JAR está localizado no projeto |
Opções de implantação
Se você já criou um plano do Serviço de Aplicativo, pode especificar as configurações desse plano em seu arquivo pom.xml
. Quando você implanta seu aplicativo Web no Azure, o Maven usa essas configurações para implantar seu novo aplicativo no plano existente do Serviço de Aplicativo.
<!-- Deploy Web App to the existing App Service Plan -->
<appServicePlanResourceGroup>${PLAN_RESOURCEGROUP_NAME}</appServicePlanResourceGroup>
<appServicePlanName>${PLAN_NAME}</appServicePlanName>
Outra opção é permitir que o azure-webapp-maven-plugin
crie o plano do Serviço de Aplicativo para você quando você configurar a configuração do plug-in interativamente. Essa opção é o comportamento padrão do plug-in se você não especificar um plano existente do Serviço de Aplicativo em seu arquivo pom.xml
.
Se você optar por criar o plano do Serviço de Aplicativo interativamente ou manualmente, use o mesmo comando Maven para implantar o código do aplicativo no Azure:
mvn package azure-webapp:deploy
No próximo exercício, você implantará seu aplicativo Web no Serviço de Aplicativo do Azure.