Implementar a aplicação Web no Serviço de Aplicações do Azure

Concluído

O azure-webapp-maven-plugin tem dois objetivos para os programadores de Java: o primeiro é facilitar a gestão e configuração do plug-in do Serviço de Aplicações do Azure, e o segundo é simplificar a implementação de projetos Maven no Serviço de Aplicações do Azure. No exercício anterior, criou uma aplicação Web Java rápida "hello world" de exemplo e testou-a localmente. Adicionar o Plug-in do Maven para o Serviço de Aplicações do Azure ao seu projeto permite-lhe implementar a sua aplicação no Serviço de Aplicações 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 Aplicações do Azure

O Serviço de Aplicações do Azure permite-lhe alojar os sites, aplicações Web, APIs REST e outro código de aplicação da sua empresa no Azure. O código do projeto está em execução na cloud, pelo que não tem de aprovisionar ou configurar qualquer infraestrutura. A execução da sua aplicação Web no Serviço de Aplicações do Azure proporciona-lhe todos os benefícios de execução no Azure: a sua aplicação está disponível globalmente, é dimensionada automaticamente, tem segurança e conformidade incorporadas, e paga apenas pelos recursos que utilizar.

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 implementar a sua aplicação Web no Azure, irá criar um plano do Serviço de Aplicações no Azure que especifica o SO e o escalão de preço, que determina o tamanho dos recursos de computação aprovisionados de que a sua aplicação necessita.

Fluxos de trabalho do Maven

O Maven tem três ciclos de vida incorporados para criar projetos: default, clean e site, em que o ciclo de vida default inclui as seguintes fases:

Fase Description
compile Compila o código
package Empacota o código num ficheiro JAR ou WAR
install Instala o pacote no 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 default vida do Maven. Em vez disso, irá implementar a sua aplicação no Azure com o comando mvn azure-webapp:deploy.

Adicionar o Plug-in do Maven para o Serviço de Aplicações do Azure ao seu projeto

Para adicionar o plug-in Maven para o Serviço de Aplicativo do Azure ao seu aplicativo Web, adicione o XML for azure-webapp-maven-plugin ao arquivo do pom.xml seu projeto, da seguinte forma:

<plugin>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>azure-webapp-maven-plugin</artifactId>
  <version>2.2.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.2.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 do pom.xml seu projeto que configura seu aplicativo Web para ser executado no Serviço de Aplicativo do Azure.

Nota

Veja a documentação do Plug-in do Maven para o Serviço de Aplicações 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 secção anterior desta unidade demonstrou a utilização interativa do Plug-in do Maven para o Serviço de Aplicações do Azure para configurar a sua aplicação Web. No entanto, não precisa de executar a configuração interativamente. Se pretender, pode adicionar manualmente o XML do plug-in ao ficheiro pom.xml do projeto.

O seguinte trecho anotado de um pom.xml arquivo demonstra algumas das configurações necessárias:

<plugin> 
  <groupId>com.microsoft.azure</groupId>  
  <artifactId>azure-webapp-maven-plugin</artifactId>  
  <version>2.2.0</version>  
  <configuration> 
    <schemaVersion>v2</schemaVersion>  
    <subscriptionId>11111111-1111-1111-1111-111111111111</subscriptionId>  
    <resourceGroup>learn-9c627899-58ae-4ef5-9630-3336ec7bce0c</resourceGroup>  
    <appName>MyWebApp-1610102860270</appName>  
    <pricingTier>F1</pricingTier>  
    <region>westus</region>  
    <runtime> 
      <os>Linux</os>  
      <javaVersion>Java 8</javaVersion>  
      <webContainer>Tomcat 8.5</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, veja a documentação do Plug-in do Maven para o Serviço de Aplicações do Azure.

Etiqueta Opções
<javaVersion> Linux suporta versões 8 e 11
O Windows suporta a versão 1.7 até 11
<webContainer> Linux suporta Tomcat, Wildfly e Java SE
O Windows suporta Tomcat e Jetty
<resource> Especifica onde o ficheiro WAR ou JAR está localizado no projeto

Opções de implementação

Se já criou um plano do Serviço de Aplicações, pode especificar as definições desse plano no ficheiro 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 azure-webapp-maven-plugin crie o plano do Serviço de Aplicações quando configurar interativamente a configuração do plug-in. Esta opção é o comportamento predefinido do plug-in se não especificar um plano do Serviço de Aplicações existente no ficheiro 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, irá implementar a aplicação Web no Serviço de Aplicações do Azure.