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

Concluído

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, cleane 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.