Implantar o aplicativo Web no Serviço de Aplicativo do Azure

Concluído

O azure-webapp-maven-plugin tem duas metas para desenvolvedores de Java: a primeira é facilitar o gerenciamento e a configuração do plug-in do Serviço de Aplicativo do Azure e a segunda é simplificar a implantação de projetos Maven no Serviço de Aplicativo do Azure. No exercício anterior, você criou um exemplo rápido de aplicativo Web Java "Olá, Mundo" e o testou localmente. Adicionar o plug-in do Maven para o Serviço de Aplicativo do Azure ao seu projeto permite que você implante o aplicativo no Serviço de Aplicativo do Azure.

Nesta unidade, você vai examinar as opções para sua empresa hospedar seus aplicativos no Serviço de Aplicativo do Azure e aprender como adicionar e configurar o azure-webapp-maven-plugin ao seu projeto do Maven.

Introdução ao Serviço de Aplicativo do Azure

O Serviço de Aplicativo do Azure permite que você hospede sites, aplicativos Web, APIs REST e outros códigos de aplicativo de sua empresa no Azure. O código do projeto está em execução na nuvem, de modo que você não precisa provisionar nem configurar nenhuma infraestrutura. A execução de seu aplicativo Web no Serviço de Aplicativo do Azure fornece todos os benefícios da execução no Azure: seu aplicativo fica 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 à vontade. O Java é uma linguagem de primeira classe, ao lado de outras como .NET Core, Python, Node.js etc. Você pode hospedar os aplicativos web que criar no Linux, no Windows ou dentro de um contêiner do Docker. Antes de implantar o aplicativo Web no Azure, você criará um Plano do Serviço de Aplicativo no Azure especificando o SO e o tipo de preço, o que determina o tamanho dos recursos de computação provisionados de que o aplicativo precisa.

Fluxos de trabalho de Maven

O Maven tem três ciclos de vida internos para a criação de projetos: default, clean e site, em que o ciclo de vida default inclui as seguintes fases:

Fase Descrição
compile Compila o código
package Empacota o código em um JAR ou WAR
install Instala o pacote no repositório local
deploy Copia o pacote final para seu repositório remoto

No entanto, quando estiver usando o Plugin do Maven para o Serviço de Aplicativo do Azure, você não vai usar a fase de implantação incluída no ciclo de vida default do Maven. Em vez disso, você implantará o aplicativo no Azure com o comando mvn azure-webapp:deploy.

Adicionar o Plug-in do Maven para o Serviço de Aplicativo do Azure ao seu projeto

Para adicionar o plugin do Maven para o Serviço de Aplicativo do Azure ao seu aplicativo web, você deve adicionar o XML para azure-webapp-maven-plugin ao arquivo pom.xml do seu projeto, como se segue:

<plugin>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>azure-webapp-maven-plugin</artifactId>
  <version>2.13.0</version>
</plugin>

No entanto, o plugin fornece uma forma conveniente e interativa de adicionar configurações ao seu arquivo POM:

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config

O plugin irá lhe solicitar as informações necessárias para configurar o plano do Serviço de Aplicativo. Após você confirmar suas escolhas, o plugin adicionará o elemento de plugin anterior e as configurações necessárias ao arquivo pom.xml do seu projeto, que configura o aplicativo web para ser executado no Serviço de Aplicativo do Azure.

Observação

Confira a Documentação do Plug-in do Maven para o Serviço de Aplicativo do Azure ou o Repositório Central do Maven para obter informações sobre a versão mais recente do plug-in do Maven.

Opções de configuração

A seção anterior desta unidade demonstrou o uso interativo do Plug-in do Maven para o Serviço de Aplicativo do Azure para configurar seu aplicativo Web. No entanto, você não precisa executar a configuração de maneira interativa. Se desejar, você poderá adicionar o XML do plug-in ao arquivo pom.xml do 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, confira a Documentação do Plug-in do Maven para o Serviço de Aplicativo do Azure.

Marca Opções
<javaVersion> O Linux dá suporte às versões 8, 11 e 17
O Windows dá suporte às versões 8, 11 e 17
<webContainer> O Linux dá suporte a Tomcat, JBoss EAP 7.2 e Java SE
O Windows dá suporte a Tomcat e a Java SE
<resource> Especifica onde o WAR ou JAR fica localizado no projeto

Opções de implantação

Se já tiver criado um Plano do Serviço de Aplicativo, você poderá 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 o novo aplicativo no Plano do Serviço de Aplicativo existente.

<!-- 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 instalação do plug-in interativamente. Essa opção é o comportamento padrão do plug-in quando você não especifica um Plano do Serviço de Aplicativo existente no arquivo pom.xml.

Independentemente de ter optado por criar o Plano do Serviço de Aplicativo interativa ou manualmente, você usará o mesmo comando do Maven para implantar o código do aplicativo no Azure.

mvn package azure-webapp:deploy

No próximo exercício, você implantará o aplicativo Web no Serviço de Aplicativo do Azure.