Implantar um Aplicativo Web Quarkus no Serviço de Aplicativo do Azure com o Maven
Neste início rápido, você usará o Plug-in do Maven para os Aplicativos Web do Serviço de Aplicativo do Azure a fim de implantar um aplicativo Quarkus 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.
Pré-requisitos
- A CLI do Azure, localmente ou por meio do Azure Cloud Shell.
- Um JDK (Java Development Kit) com suporte. Para obter mais informações sobre os JDKs disponíveis para uso durante o desenvolvimento no Azure, confira Suporte a Java no Azure e no Azure Stack.
- Maven do Apache, versão 3.
Entrar na CLI do Azure
A maneira mais simples e fácil de obter o plug-in do Maven implantando seu aplicativo Quarkus é 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 Quarkus e o testará localmente.
Criar projeto base Java SE 8
Abra o navegador da Web e acesse o site do MicroProfile Starter.
Forneça os valores a seguir para os campos indicados.
Campo Valor groupId com.microsoft.azure.samples.quarkus artifactId quarkus-hello-azure Versão do MicroProfile MP 3.2 Versão do Java SE Java 8 MicroProfile Runtime Quarkus Exemplos de especificações Métricas, OpenAPI Selecione DOWNLOAD para baixar o projeto.
Descompactar o arquivo morto, por exemplo:
unzip Quarkus-hello-azure.zip
Criar projeto base Java SE 11
Para criar o projeto base do Java 11, use o seguinte comando:
mvn io.quarkus:quarkus-maven-plugin:2.6.1.Final:create \
-DprojectGroupId=com.microsoft.azure.samples.quarkus \
-DprojectArtifactId=quarkus-hello-azure \
-DclassName="com.microsoft.azure.samples.quarkus.App" \
-Dpath="/hello"
Executar o aplicativo no ambiente local
Altere o diretório para o projeto concluído. Por exemplo:
cd quarkus-hello-azure/
Criar e executar o projeto usando o Maven; por exemplo:
mvn quarkus:dev
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:
Para o projeto Java SE 8:
curl http://localhost:8080/data/hello
Para o projeto Java SE 11:
curl localhost:8080/hello
Você verá a seguinte mensagem exibida: Hello World ou hello
Configurar o plug-in do Maven para o Serviço de Aplicativo do Azure
Nesta seção, você vai configurar o arquivo pom.xml do projeto Quarkus para que o Maven possa implantar o aplicativo no Serviço de Aplicativo do Azure no Linux.
Abra o arquivo pom.xml em um editor de texto.
Na seção
<build>
do arquivo pom.xml, insira a entrada<plugin>
a seguir dentro da marca<plugins>
apósmaven-surefire-plugin
.<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.5.0</version> </plugin>
Para configurar a implantação, execute o seguinte comando do Maven:
mvn azure-webapp:config
Escolha as seguintes opções quando solicitado:
Campo de entrada Entrada/Selecionar Valor Escolha uma assinatura Introduza o seu ID de subscrição. Definir valor para OS(Padrão: Linux): 2. linux Defina o valor para javaVersion(Default: Java 8): 2. Java 11 Defina o valor para pricingTier(Padrão: P1v2): 9. P1v2 Confirmar (S/N) y Esse comando produz uma saída semelhante ao seguinte exemplo:
[INFO] Scanning for projects... [INFO] [INFO] ------< com.microsoft.azure.samples.quarkus:quarkus-hello-azure >------- [INFO] Building quarkus-hello-azure 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:2.5.0:config (default-cli) @ quarkus-hello-azure --- [INFO] Auth type: OAUTH2 Username: abc@xyz.com Available subscriptions: * 1: Subscription1(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx) 2: Subscription2(yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyy) Please choose a subscription [xxx]: 1 [INFO] Subscription: Subscription1(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx) Define value for OS [Linux]: 1: Windows * 2: Linux 3: Docker Enter your choice: 2 Define value for javaVersion [Java 8]: * 1: Java 8 2: Java 11 3: Java 17 Enter your choice: 2 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: 9 Please confirm webapp properties Subscription Id : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx AppName : quarkus-hello-azure-1601011883156 ResourceGroup : quarkus-hello-azure-1601011883156-rg Region : centralus PricingTier : P1v2 OS : Linux Java : Java 11 Web server stack: Java SE Deploy to slot : false Confirm (Y/N) [Y]: [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 16.502 s [INFO] Finished at: 2020-09-25T14:31:34+09:00 [INFO] ------------------------------------------------------------------------
Adicione a
<appSettings>
seção à<configuration>
seção dePORT
,WEBSITES_PORT
eWEBSITES_CONTAINER_START_TIME_LIMIT
. Sua entrada XML paraazure-webapp-maven-plugin
será semelhante ao exemplo a seguir:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.5.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>microprofile</resourceGroup> <appName>quarkus-hello-azure-1591836715762</appName> <pricingTier>P1v2</pricingTier> <region>centralus</region> <runtime> <os>linux</os> <javaVersion>java 11</javaVersion> <webContainer>java SE</webContainer> </runtime> <appSettings> <property> <name>PORT</name> <value>8080</value> </property> <property> <name>WEBSITES_PORT</name> <value>8080</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>
Adicione a entrada a seguir ao arquivo src/main/resources/application.properties para criar o JAR (FAT) do Uber.
quarkus.package.type=uber-jar
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:
Se você fez alterações no arquivo pom.xml, recompile o arquivo JAR usando o seguinte comando:
mvn clean package
Implante seu aplicativo Web no Azure usando o seguinte comando:
mvn azure-webapp:deploy
Se a implantação for bem-sucedida, você verá a seguinte saída:
[INFO] Successfully deployed the artifact to https://quarkus-hello-azure-1591836715762.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:20 min
[INFO] Finished at: 2020-06-11T10:06:51+09:00
[INFO] ------------------------------------------------------------------------
O Maven implantará o 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.
Quando seu aplicativo Web tiver sido implantado, você poderá gerenciá-lo por meio do portal do Azure.
Seu aplicativo Web será listado no grupo de recursos de microperfil .
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 microprofile \
--name quarkus-hello-azure-1601011883156
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: