Compartilhar via


Implantar um Open Liberty Micro Web App no Serviço de Aplicativo do Azure com o Maven

Neste guia de início rápido, você usará o Plug-in Maven para Aplicativos Web do Serviço de Aplicativo do Azure para implantar um aplicativo Open Liberty no Serviço de Aplicativo do Azure no Linux. Escolha a implantação Java SE em vez dos arquivos Tomcat e WAR quando quiser consolidar as dependências, o runtime e a configuração do aplicativo em um único artefato de implantação.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Importante

Embora o Serviço de Aplicativo do Azure seja projetado, operado e suportado pela Microsoft, o software executado sobre ele está sujeito ao suporte e aos termos de licença do seu próprio plano de suporte. Para obter detalhes sobre o suporte do software descrito neste artigo, confira as páginas principais desse software, conforme listado no artigo. Para obter suporte para o Open Liberty, consulte a página de suporte do Open Liberty. Para obter suporte para o WebSphere Liberty, consulte IBM Cloud Support.

Pré-requisitos

Entrar na CLI do Azure

A maneira mais simples e fácil de obter o plug-in Maven implantando seu aplicativo Open Liberty é usando a CLI do Azure.

Entre em sua conta do Azure usando a CLI do Azure:

az login

Siga as instruções na tela para concluir o processo de entrada.

Criar aplicativo de exemplo com base no MicroProfile Starter

Nesta seção, você criará um aplicativo Open Liberty e o testará localmente.

  1. Abra o navegador da Web e acesse o site do MicroProfile Starter.

    Captura de tela mostrando o MicroProfile Starter com o Open Liberty runtime selecionado.

  2. Use os valores na tabela a seguir para preencher o MicroProfile Starter.

    Campo Valor
    groupId com.microsoft.azure.samples.openliberty
    artifactId openliberty-hello-azure
    Versão do MicroProfile MP 4.0
    Versão do Java SE Java 11
    MicroProfile Runtime Open Liberty
    Exemplos de especificações Métricas, OpenAPI
  3. Selecione DOWNLOAD para baixar o projeto.

  4. Descompactar o arquivo morto, por exemplo:

    unzip openliberty-hello-azure.zip
    

Executar o aplicativo no ambiente local

  1. Altere o diretório para o projeto concluído. Por exemplo:

    cd openliberty-hello-azure/
    
  2. Criar o projeto usando o Maven; por exemplo:

    mvn clean package
    
  3. Executar o projeto; por exemplo:

    java -jar target/openliberty-hello-azure.jar
    
  4. Teste o aplicativo Web navegando até ele localmente usando um navegador da Web. Por exemplo, use o comando a seguir, se você tiver o curl disponível:

    curl http://localhost:9080/data/hello
    
  5. Você verá a seguinte mensagem exibida: Hello World

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

Nesta seção, você configurará o arquivo de pom.xml do projeto Open Liberty para que o Maven possa implantar o aplicativo no Serviço de Aplicativo do Azure no Linux.

  1. Para configurar a implantação, execute o seguinte comando do Maven:

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

    Escolha as seguintes opções quando solicitado:

    Campo de entrada Entrada/Selecionar Valor
    Definir valor para OS(Padrão: Linux): 1. linux
    Defina o valor para javaVersion(Default: Java 8): 2. Java 11
    Defina o valor para runtimeStack(Padrão: TOMCAT 8.5): 2. TOMCAT 8,5
    Confirmar (S/N) y

Observação

Mesmo que não usemos o Tomcat, selecione TOMCAT 8.5 neste momento. Durante a configuração detalhada, você modificará o valor de TOMCAT 8.5 para Java. Este exemplo usa uma versão específica do plug-in do Azure App Service Maven. Você deve considerar o uso da versão mais recente disponível. Você pode descobrir o número da versão mais recente visitando um site como o mvnrepository.com.

Esse comando produz uma saída semelhante ao seguinte exemplo:

 [INFO] Scanning for projects...
 [INFO]
 [INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
 [INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
 [INFO] --------------------------------[ war ]---------------------------------
 [INFO]
 [INFO] --- azure-webapp-maven-plugin:2.3.0:config (default-cli) @ openliberty-hello-azure ---
 Auth type: AZURE_CLI
 Default subscription:
 Username:
 [INFO] Subscription:
 [INFO] It may take a few minutes to load all Java Web Apps, please be patient.
 Define value for OS [Linux]:
   1: Windows
 * 2: Linux
   3: Docker
 Enter your choice:
 Define value for javaVersion [Java 8]:
 * 1: Java 8
   2: Java 11
 Enter your choice: 2
 Define value for webContainer [Tomcat 8.5]:
   1: Jbosseap 7
 * 2: Tomcat 8.5
   3: Tomcat 9.0
 Enter your choice:
 Define value for pricingTier [P1v2]:
   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:
 Please confirm webapp properties
 Subscription Id : ********-****-****-****-************
 AppName : openliberty-hello-azure-1642075767899
 ResourceGroup : openliberty-hello-azure-1642075767899-rg
 Region : centralus
 PricingTier : P1v2
 OS : Linux
 Java : Java 11
 Web server stack: Tomcat 8.5
 Deploy to slot : false
 Confirm (Y/N) [Y]:
 [INFO] Saving configuration to pom.
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time:  21.981 s
 [INFO] Finished at: 2022-01-13T21:09:39+09:00
 [INFO] ------------------------------------------------------------------------
  1. Modifique o arquivo server.xml no diretório /src/main/liberty/config/ para executar o Aplicativo nos Aplicativos Web do Azure. No arquivo, adicione a host="*" linha na <httpEndpoint> marca , conforme mostrado no exemplo a seguir:

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443"/>
    
  2. Modifique a runtime entrada de TOMCAT 8.5 para java e de deployment para *.jar no arquivo pom.xml*.war. Em seguida, adicione a <appSettings> seção à <configuration> seção de PORT, e .WEBSITES_CONTAINER_START_TIME_LIMITWEBSITES_PORT Sua entrada XML para azure-webapp-maven-plugin será semelhante ao exemplo a seguir:

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>2.3.0</version>
      <configuration>
        <schemaVersion>v2</schemaVersion>
        <subscriptionId>********-****-****-****-************</subscriptionId>
        <resourceGroup>openliberty-hello-azure-1642075767899-rg</resourceGroup>
        <appName>openliberty-hello-azure-1642075767899</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>Linux</os>
          <javaVersion>Java 11</javaVersion>
          <webContainer>java</webContainer>
        </runtime>
      <appSettings>
        <property>
          <name>PORT</name>
          <value>9080</value>
        </property>
          <property>
          <name>WEBSITES_PORT</name>
          <value>9080</value>
        </property>
        <property>
          <name>WEBSITES_CONTAINER_START_TIME_LIMIT</name>
          <value>600</value>
        </property>
      </appSettings>
        <deployment>
          <resources>
            <resource>
              <directory>${project.basedir}/target</directory>
              <includes>
                <include>*.jar</include>
              </includes>
            </resource>
          </resources>
        </deployment>
      </configuration>
    </plugin>
    

Implantar o aplicativo no Azure

Depois de definir todas as configurações nas seções anteriores deste artigo, você estará pronto para implantar seu aplicativo Web no Azure. Para fazer isso, execute as seguintes etapas:

  1. Do prompt de comando ou janela de terminal que você estava usando antes, recompile o arquivo JAR usando o Maven, se você tiver feito alterações no arquivo pom.xml; por exemplo:

    mvn clean package
    
  2. Implante seu aplicativo Web no Azure usando o Maven; por exemplo:

    mvn azure-webapp:deploy
    

Se a implantação for bem-sucedida, você verá a seguinte saída.

[INFO] Scanning for projects...
[INFO]
[INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
[INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:2.3.0:deploy (default-cli) @ openliberty-hello-azure ---
Auth type: AZURE_CLI
[INFO] Creating web app openliberty-hello-azure-1642075767899...
[INFO] Successfully created Web App openliberty-hello-azure-1642075767899.
[INFO] Trying to deploy external resources to openliberty-hello-azure-1642075767899...
[INFO] Successfully deployed the resources to openliberty-hello-azure-1642075767899
[INFO] Trying to deploy artifact to openliberty-hello-azure-1642075767899...
[INFO] Deploying (/Users/Downloads/openliberty-hello-azure/target/openliberty-hello-azure.jar)[jar]  ...
[INFO] Successfully deployed the artifact to https://openliberty-hello-azure-1642075767899.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:11 min
[INFO] Finished at: 2022-01-13T21:29:50+09:00
[INFO] ------------------------------------------------------------------------

O Maven implantará seu aplicativo Web no Azure. Se o plano de aplicativo Web ou aplicativo Web ainda não existir, ele será criado para você. Pode levar alguns minutos para que o aplicativo Web fique visível na URL mostrada na saída. Navegue até a URL em um navegador da Web. Você deverá ver a tela a seguir.

Captura de tela do navegador da Web mostrando a primeira página do Open Liberty.

Quando seu aplicativo tiver sido implantado, você poderá gerenciá-lo por meio do portal do Azure.

Seu aplicativo Web será listado no grupo de recursos.

Você pode acessar seu aplicativo Web selecionando Procurar na página Visão geral do seu aplicativo Web. Verifique se a implantação foi bem-sucedida e se está em execução.

Confirmar o fluxo de log do Serviço de Aplicativo em execução

Você pode ver (ou "acompanhar") os logs do Serviço de Aplicativo em execução. Todas as chamadas para console.log no código do site são exibidas no terminal.

az webapp log tail \
    --resource-group openliberty-hello-azure-1642075767899-rg \
    --name openliberty-hello-azure-1642075767899

Captura de tela da janela do terminal mostrando o fluxo de log.

Limpar os recursos

Quando os recursos do Azure já não forem necessários, limpe os recursos implantados excluindo o grupo de recursos.

  • No portal do Azure, escolha Grupos de recursos do menu à esquerda.
  • Insira microprofile no campo Filtrar por nome; o grupo de recursos criado neste tutorial deverá ter esse prefixo.
  • Selecione o grupo de recursos criado neste tutorial.
  • Escolha Excluir grupo de recursos no menu superior.

Próximas etapas

Para saber mais sobre o MicroProfile e o Azure, prossiga para o centro de documentação do MicroProfile no Azure.

Recursos adicionais

Para saber mais sobre as diversas tecnologias discutidas neste artigo, veja os artigos a seguir: