Exercício - Implantar um aplicativo Web no Serviço de Aplicativo do Azure

Concluído

Nesta unidade, você implanta seu aplicativo Web Java Tomcat no Serviço de Aplicativo do Azure.

Plug-in Maven para o Serviço de Aplicativo do Azure

A Microsoft fornece o plug-in Maven para o Serviço de Aplicativo do Azure para facilitar a implantação de aplicativos no Azure por desenvolvedores Java. Usando esse plug-in, você pode facilmente configurar e implantar seu aplicativo no Azure. Use as etapas nas seções a seguir para configurar o plug-in, compilar seu código-fonte e implantar seu aplicativo.

Configurar o plug-in Maven para o Serviço de Aplicativo do Azure

Para configurar o plug-in Maven para o Serviço de Aplicativo do Azure, use as seguintes etapas:

  1. Inicie a configuração usando o seguinte comando:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.10.0:config
    
  2. Depois de usar o comando, algumas perguntas aparecem no prompt, permitindo que você configure várias opções. Configure as opções e valores de acordo com as informações na tabela a seguir:

    Número Valor de entrada
    Subscrição Escolha a sua subscrição do Azure.
    Definir valor para SO Linux
    Definir valor para a camada de preços B1
    Definir valor para a versão Java Java 21
    Definir o valor para a pilha de tempo de execução TOMCAT 10,0
    Confirmar (S/N) Y

    Depois de configurar as opções, a seguinte saída é típica:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.10.0:config
    [INFO] Scanning for projects...
    [INFO]
    [INFO] -------------------< com.example:simple-tomcat-app >--------------------
    [INFO] Building simple-tomcat-app 1.0-SNAPSHOT
    [INFO]   from pom.xml
    [INFO] --------------------------------[ war ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp:2.10.0:config (default-cli) @ simple-tomcat-app ---
    Downloading from central: https://repo.maven.apache.org/maven2/net/minidev/json-smart/maven-metadata.xml
    Downloading from ossrh: https://oss.sonatype.org/content/repositories/snapshots/net/minidev/json-smart/maven-metadata.xml
    Downloading from shibboleth-repo: https://build.shibboleth.net/nexus/content/repositories/releases/net/minidev/json-smart/maven-metadata.xml
    Downloaded from central: https://repo.maven.apache.org/maven2/net/minidev/json-smart/maven-metadata.xml (1.3 kB at 6.3 kB/s)
    Please choose which part to config [Application]:
    * 1: Application
      2: Runtime
      3: DeploymentSlot
    Enter your choice: 1
    Define value for appName [simple-tomcat-app]: tomcatmavendemo
    Define value for resourceGroup [tomcatmavendemo-rg]: MyResourceGroup
    Define value for region [{azure.region}]: centralus
    Define value for pricingTier [B1]:
    *  1: B1
       2: B2
       3: B3
       4: D1
       5: EP1
       6: EP2
       7: EP3
       8: F1
       9: P1v2
      10: P1v3
      11: P2v2
      12: P2v3
      13: P3v2
      14: P3v3
      15: S1
      16: S2
      17: S3
      18: Y1
    Enter your choice: 1
    Please confirm webapp properties
    AppName : tomcatmavendemo
    ResourceGroup : MyResourceGroup
    Region : centralus
    PricingTier : B1
    OS : Linux
    Java Version: 21
    Web server stack: Tomcat 10.1
    Deploy to slot : false
    Confirm (Y/N) [Y]: Y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:49 min
    [INFO] Finished at: 2024-11-07T09:54:55-08:00
    [INFO] ------------------------------------------------------------------------
    
  3. Seu arquivo pom.xml agora contém uma nova seção na <plugins> seção. Se desejar alterar o nome do grupo de recursos, o nome da instância ou o local de implantação, altere os valores nos <resourceGroup>elementos , <appName>ou <region> . O exemplo a seguir mostra um arquivo pom.xml típico:

          <!-- Azure Web App Maven Plugin -->
    <plugin>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-webapp-maven-plugin</artifactId>
        <version>2.10.0</version>
        <configuration>
            <resourceGroup>MyResourceGroup</resourceGroup>
            <appName>tomcatmavendemo</appName>
            <region>centralus</region>
            <pricingTier>B1</pricingTier>
            <runtime>
                <os>linux</os>
                <javaVersion>21</javaVersion>
                <webContainer>Tomcat 10.1</webContainer>
            </runtime>
            <deployment>
                <resources>
                    <resource>
                        <directory>${project.build.directory}</directory>
                        <includes>
                            <include>*.war</include>
                        </includes>
                    </resource>
                </resources>
            </deployment>
        </configuration>
    </plugin>
    

Compilar e implantar no Serviço de Aplicativo do Azure

Agora que você terminou de definir as configurações para implantação no Serviço de Aplicativo do Azure, use as seguintes etapas para compilar seu código-fonte e implantar seu aplicativo nos Serviços de Aplicativo do Azure:

  1. Compile o código-fonte novamente usando o seguinte comando:

    mvn clean package
    
  2. Depois que o código-fonte for compilado, use o seguinte comando para implantar seu aplicativo:

    mvn azure-webapp:deploy
    

Quando a implantação estiver concluída, a seguinte saída será típica:

[INFO] Successfully deployed the artifact to https://tomcatmavendemo.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  06:55 min
[INFO] Finished at: 2024-11-07T10:05:19-08:00
[INFO] ------------------------------------------------------------------------

Como você pode ver, essa saída fornece a URL pública do aplicativo implantado: Successfully deployed the artifact to https://tomcatmavendemo.azurewebsites.net.

Ao navegar para a aplicação, deverá parecer-se com a seguinte captura de ecrã:

Captura de tela que mostra o aplicativo Web implantado em um navegador.

Confirmar o fluxo de log

Para acessar o fluxo de log, use o seguinte comando:

az webapp log tail \
    --resource-group <your-resource-group> \
    --name <your-app-name>

A seguinte saída é típica:

2024-11-07T18:14:37  Welcome, you are now connected to log-streaming service.
Starting Log Tail -n 10 of existing logs ----
/appsvctmp/volatile/logs/runtime/container.log
2024-11-07T18:06:05.3874260Z  java.base/java.lang.Thread.run(Thread.java:1583)
2024-11-07T18:06:05.5635356Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol stop
2024-11-07T18:06:05.5636042Z INFO: Stopping ProtocolHandler ["http-nio-127.0.0.1-80"]
2024-11-07T18:06:05.6020767Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol stop
2024-11-07T18:06:05.6021438Z INFO: Stopping ProtocolHandler ["http-nio-169.254.129.3-80"]
2024-11-07T18:06:05.6423756Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol destroy
2024-11-07T18:06:05.6424403Z INFO: Destroying ProtocolHandler ["http-nio-127.0.0.1-80"]
2024-11-07T18:06:05.6893602Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol destroy
2024-11-07T18:06:05.6894311Z INFO: Destroying ProtocolHandler ["http-nio-169.254.129.3-80"]
2024-11-07T18:06:05.7849816Z Done processing signal SIGTERM. Exiting now!
Ending Log Tail of existing logs ---
Starting Live Log Stream ---

Resumo do exercício

Nesta unidade, você aprendeu como criar um aplicativo Web Tomcat usando o Maven. Você também aprendeu como criar um servlet e como ele funciona. Em seguida, você implantou seu aplicativo Web localmente usando o Tomcat. Finalmente, você implantou no Serviço de Aplicativo do Azure para que qualquer pessoa no mundo possa aceder.