Início Rápido: Criar um aplicativo Java no Serviço de Aplicativo do Azure

Neste início rápido, você usará o Plug-in Maven para Aplicativos Web do Serviço de Aplicativo do Azure para implantar um aplicativo Web em Java em um servidor Linux Tomcat no Serviço de Aplicativo do Azure. O Serviço de Aplicativo fornece um serviço de hospedagem de aplicativo Web altamente escalonável e com aplicação automática de patch. Use as guias para alternar entre as instruções do Tomcat, do JBoss ou do servidor inserido (Java SE).

Screenshot of Maven Hello World web app running in Azure App Service.

Se o Maven não for a ferramenta de desenvolvimento que você prefere, confira nossos tutoriais semelhantes para desenvolvedores Java:

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

1 – Usar o Azure Cloud Shell

O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Link
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. Button to launch Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.

  4. Selecione Enter para executar o código ou o comando.

2 – Criar um aplicativo Java

Execute o seguinte comando do Maven no prompt do Cloud Shell para criar um aplicativo chamado helloworld:

mvn archetype:generate "-DgroupId=example.demo" "-DartifactId=helloworld" "-DarchetypeArtifactId=maven-archetype-webapp" "-DarchetypeVersion=1.4" "-Dversion=1.0-SNAPSHOT"

Em seguida, altere o diretório de trabalho para a pasta do projeto:

cd helloworld

3 – Configurar o plug-in do Maven

O processo de implantação no Serviço de Aplicativo do Azure usa suas credenciais do Azure a partir da CLI do Azure automaticamente. Se a CLI do Azure não estiver instalada localmente, o plugin Maven será autenticado com o OAuth ou com as credenciais do dispositivo. Para obter mais informações, confira autenticação com plug-ins do Maven.

Execute o comando Maven mostrado ao lado para configurar a implantação. Esse comando ajuda você a configurar o sistema operacional do Serviço de Aplicativo, a versão Java e a versão do Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. Em Criar nova configuração de execução, digite Y e, em seguida, Enter.

  2. Para Definir um valor para OS, digite 1 para Windows ou 2 para Linux e, em seguida, pressione Enter.

  3. Para Definir um valor para javaVersion, digite 3 para Java 17 e, em seguida, pressione Enter.

  4. Para Definir um valor para webContainer, digite 1 para Tomcat 10.0 e, em seguida, pressione Enter.

  5. Para Definir um valor para pricingTier, digite 9 para P1v2 e, em seguida, pressione Enter.

  6. Para Confirmar, digite Y e, em seguida, pressione Enter.

    Please confirm webapp properties
    AppName : helloworld-1690440759246
    ResourceGroup : helloworld-1690440759246-rg
    Region : centralus
    PricingTier : P1v2
    OS : Linux
    Java Version: Java 17
    Web server stack: Tomcat 10.0
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  13.069 s
    [INFO] Finished at: 2023-07-27T06:52:48Z
    [INFO] ------------------------------------------------------------------------
    

Após você confirmar suas escolhas, o plug-in adiciona o elemento de plug-in acima as configurações necessárias ao arquivo pom.xml do projeto, que configura o aplicativo Web para ser executado no Serviço de Aplicativo do Azure.

A parte relevante do arquivo pom.xml deve ser semelhante ao exemplo a seguir.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Você poderá modificar as configurações do Serviço de Aplicativo diretamente em seu pom.xml. Algumas configurações comuns são listadas na tabela a seguir:

Propriedade Obrigatório Descrição Versão
<schemaVersion> false Especifique a versão do esquema de configuração. Os valores suportados são: v1, v2. 1.5.2
<subscriptionId> false Especifique a ID da assinatura. 0.1.0+
<resourceGroup> true Grupo de recursos do Azure para seu aplicativo Web. 0.1.0+
<appName> true O nome do seu aplicativo Web. 0.1.0+
<region> false Especifica a região para hospedar seu Aplicativo Web; o valor padrão é centralus. Todas as regiões válidas na seção Regiões com suporte. 0.1.0+
<pricingTier> false O tipo de preço do seu aplicativo Web. O valor padrão é P1v2 para a carga de trabalho de produção, enquanto B2 é o mínimo recomendado para o ambiente de desenvolvimento/teste do Java. Para saber mais, veja Preços do Serviço de Aplicativo 0.1.0+
<runtime> false A configuração do ambiente de tempo de execução. Para mais informações, confira Informações de configuração. 0.1.0+
<deployment> false Configuração de implantação. Para mais informações, confira Informações de configuração. 0.1.0+

Para obter a lista completa de configurações, veja a documentação de referência do plug-in. Todos os Plug-ins do Azure para Maven compartilham um conjunto comum de configurações. Para ver essas configurações, confira Configurações comuns. Para conhecer as configurações específicas do Serviço de Aplicativo, veja Aplicativo Web do Azure: detalhes da configuração.

Tenha cuidado com os valores de <appName> e <resourceGroup> (helloworld-1690440759246 e helloworld-1690440759246-rg de acordo com a demonstração). Eles são usados mais tarde.

4 – Implantar o aplicativo

Com todas as configurações prontas no arquivo pom.xml, é possível implantar o aplicativo Java no Azure usando um comando único.

mvn package azure-webapp:deploy

Quando a implantação for concluída, seu aplicativo estará pronto em http://<appName>.azurewebsites.net/ (http://helloworld-1690440759246.azurewebsites.net na demonstração). Abra a URL com o navegador da Web local para ver

Screenshot of Maven Hello World web app running in Azure App Service.

Parabéns! Você implantou seu primeiro aplicativo Java no Serviço de Aplicativo.

5 – Limpar recursos

Nas etapas anteriores, você criou os recursos do Azure em um grupo de recursos. Se você não precisar desses recursos no futuro, exclua o grupo de recursos por meio do portal ou executando o seguinte comando no Cloud Shell:

az group delete --name <your resource group name; for example: helloworld-1690440759246-rg> --yes

Esse comando pode demorar um pouco para ser executado.

Neste início rápido, você usa o Plugin do Maven para Aplicativos Web do Serviço de Aplicativo do Azure para implantar um aplicativo Web em Java com um servidor incorporado no Serviço de Aplicativo do Azure. O Serviço de Aplicativo fornece um serviço de hospedagem de aplicativo Web altamente escalonável e com aplicação automática de patch. Use as guias para alternar entre as instruções do Tomcat, do JBoss ou do servidor inserido (Java SE).

O início rápido implanta um aplicativo Spring Boot, Tomcat inserido ou aplicativo Quarkus usando o plug-in azure-webapp-maven-plugin.

Observação

O Serviço de Aplicativo pode hospedar aplicativos Spring. Para aplicativos Spring que exigem todos os serviços do Spring, experimente os Aplicativos Spring do Azure.

Se o Maven não for a ferramenta de desenvolvimento que você prefere, confira nossos tutoriais semelhantes para desenvolvedores Java:

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

1 – Usar o Azure Cloud Shell

O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Link
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. Button to launch Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.

  4. Pressione Enter para executar o código ou comando.

2 – Obter o aplicativo de exemplo

  1. Baixe e extraia o modelo de aplicativo Web Spring Boot padrão. Esse repositório é clonado quando você executa o comando spring boot new my-webapp da CLI do Spring.

    git clone https://github.com/rd-1-2022/rest-service my-webapp
    
  2. Altere o diretório de trabalho para a pasta do projeto:

    cd my-webapp
    

3 – Configurar o plug-in do Maven

O processo de implantação no Serviço de Aplicativo do Azure usa suas credenciais do Azure a partir da CLI do Azure automaticamente. Se a CLI do Azure não estiver instalada localmente, o plugin Maven será autenticado com o OAuth ou com as credenciais do dispositivo. Para obter mais informações, confira autenticação com plug-ins do Maven.

Execute o comando Maven mostrado ao lado para configurar a implantação. Esse comando ajuda você a configurar o sistema operacional do Serviço de Aplicativo, a versão Java e a versão do Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
  1. Em Criar nova configuração de execução, digite Y e, em seguida, Enter.

  2. Para Definir um valor para OS, digite 2 para Linux e, em seguida, pressione Enter.

  3. Para Definir um valor para javaVersion, digite 1 para Java 17 e, em seguida, pressione Enter.

  4. Para Definir um valor para pricingTier, digite 9 para P1v2 e, em seguida, pressione Enter.

  5. Para Confirmar, digite Y e, em seguida, pressione Enter.

    Please confirm webapp properties
    AppName : <generated-app-name>
    ResourceGroup : <generated-app-name>-rg
    Region : centralus
    PricingTier : P1v2
    OS : Linux
    Java Version: Java 17
    Web server stack: Java SE
    Deploy to slot : false
    Confirm (Y/N) [Y]: y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  8.139 s
    [INFO] Finished at: 2023-07-26T12:42:48Z
    [INFO] ------------------------------------------------------------------------
    

Depois de confirmar suas escolhas, o plug-in adiciona o elemento de plug-in acima e as configurações de requisito ao arquivo do projeto pom.xml que configura seu aplicativo Web para execução no Serviço de Aplicativo do Azure.

A parte relevante do arquivo pom.xml deve ser semelhante ao exemplo a seguir.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Você poderá modificar as configurações do Serviço de Aplicativo diretamente em seu pom.xml. Algumas configurações comuns são listadas na tabela a seguir:

Propriedade Obrigatório Descrição Versão
<schemaVersion> false Especifique a versão do esquema de configuração. Os valores suportados são: v1, v2. 1.5.2
<subscriptionId> false Especifique a ID da assinatura. 0.1.0+
<resourceGroup> true Grupo de recursos do Azure para seu aplicativo Web. 0.1.0+
<appName> true O nome do seu aplicativo Web. 0.1.0+
<region> false Especifica a região para hospedar seu Aplicativo Web; o valor padrão é centralus. Todas as regiões válidas na seção Regiões com suporte. 0.1.0+
<pricingTier> false O tipo de preço do seu aplicativo Web. O valor padrão é P1v2 para a carga de trabalho de produção, enquanto B2 é o mínimo recomendado para o ambiente de desenvolvimento/teste do Java. Para saber mais, veja Preços do Serviço de Aplicativo 0.1.0+
<runtime> false A configuração do ambiente de tempo de execução. Para mais informações, confira Informações de configuração. 0.1.0+
<deployment> false Configuração de implantação. Para mais informações, confira Informações de configuração. 0.1.0+

Para obter a lista completa de configurações, veja a documentação de referência do plug-in. Todos os Plug-ins do Azure para Maven compartilham um conjunto comum de configurações. Para ver essas configurações, confira Configurações comuns. Para conhecer as configurações específicas do Serviço de Aplicativo, veja Aplicativo Web do Azure: detalhes da configuração.

Tenha cuidado com os valores de <appName> e <resourceGroup>. Eles são usados mais tarde.

4 – Implantar o aplicativo

Com todas as configurações prontas no arquivo pom.xml, é possível implantar o aplicativo Java no Azure usando um comando único.

  1. Compile o arquivo JAR usando o seguinte comando:

    mvn clean package
    
  2. Implante 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://<app-name>.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:20 min
    [INFO] Finished at: 2023-07-26T12:47:50Z
    [INFO] ------------------------------------------------------------------------
    

Quando a implantação for concluída, seu aplicativo estará pronto em http://<appName>.azurewebsites.net/. Abra a URL http://<appName>.azurewebsites.net/greeting com o navegador da Web local (observe o caminho /greeting) e você deverá ver:

Screenshot of Spring Boot Hello World web app running in Azure App Service.

Parabéns! Você implantou seu primeiro aplicativo Java no Serviço de Aplicativo.

5 – Limpar recursos

Nas etapas anteriores, você criou os recursos do Azure em um grupo de recursos. Se você não precisar desses recursos no futuro, exclua o grupo de recursos por meio do portal ou executando o seguinte comando no Cloud Shell:

az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes

Esse comando pode levar alguns minutos para ser executado.

Neste início rápido, você usará o Plugin Maven para Aplicativos Web do Serviço de Aplicativo do Azure para implantar um aplicativo Web em Java em um servidor Linux JBoss EAP no Serviço de Aplicativo do Azure. O Serviço de Aplicativo fornece um serviço de hospedagem de aplicativo Web altamente escalonável e com aplicação automática de patch. Use as guias para alternar entre as instruções do Tomcat, do JBoss ou do servidor inserido (Java SE).

Screenshot of Maven Hello World web app running in Azure App Service.

Se o Maven não for a ferramenta de desenvolvimento que você prefere, confira nossos tutoriais semelhantes para desenvolvedores Java:

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

1 – Usar o Azure Cloud Shell

O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Link
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. Button to launch Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.

  4. Selecione Enter para executar o código ou o comando.

2 – Criar um aplicativo Java

Clone o aplicativo de demonstração do Pet Store.

git clone https://github.com/Azure-Samples/app-service-java-quickstart

Altere o diretório para o projeto de pet shop concluído e compile-o.

Dica

O exemplo petstore-ee7 requer o Java 11 ou mais recente. O projeto de exemplo booty-duke-app-service requer o Java 17. Se a versão instalada do Java for menor que 17, execute o build de dentro do diretório petstore-ee7, em vez de no nível superior.

cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install

Se você vir uma mensagem sobre estar no estado HEAD desanexado, essa mensagem pode ser ignorada com segurança. Como você não fará nenhum commit do Git neste início rápido, o estado HEAD desanexado é apropriado.

3 – Configurar o plug-in do Maven

O processo de implantação no Serviço de Aplicativo do Azure usa suas credenciais do Azure a partir da CLI do Azure automaticamente. Se a CLI do Azure não estiver instalada localmente, o plugin Maven será autenticado com o OAuth ou com as credenciais do dispositivo. Para obter mais informações, confira autenticação com plug-ins do Maven.

Execute o comando Maven mostrado ao lado para configurar a implantação. Esse comando ajuda você a configurar o sistema operacional do Serviço de Aplicativo, a versão Java e a versão do Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. Em Criar nova configuração de execução, digite Y e, em seguida, Enter.

  2. Para Definir um valor para OS, digite 2 para Linux e, em seguida, pressione Enter.

  3. Para Definir um valor para javaVersion, digite 2 para Java 11 e, em seguida, pressione Enter.

  4. Na opção webContainer, digite 1 para Jbosseap 7 e, em seguida, pressione Enter.

  5. Para Definir um valor para pricingTier, digite 1 para P1v3 e, em seguida, pressione Enter.

  6. Para Confirmar, digite Y e, em seguida, pressione Enter.

    Please confirm webapp properties
    AppName : petstoreee7-1690443003536
    ResourceGroup : petstoreee7-1690443003536-rg
    Region : centralus
    PricingTier : P1v3
    OS : Linux
    Java Version: Java 11
    Web server stack: Jbosseap 7
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  19.914 s
    [INFO] Finished at: 2023-07-27T07:30:20Z
    [INFO] ------------------------------------------------------------------------
    

Após você confirmar suas escolhas, o plug-in adiciona o elemento de plug-in acima as configurações necessárias ao arquivo pom.xml do projeto, que configura o aplicativo Web para ser executado no Serviço de Aplicativo do Azure.

A parte relevante do arquivo pom.xml deve ser semelhante ao exemplo a seguir.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Você poderá modificar as configurações do Serviço de Aplicativo diretamente em seu pom.xml. Algumas configurações comuns são listadas na tabela a seguir:

Propriedade Obrigatório Descrição Versão
<schemaVersion> false Especifique a versão do esquema de configuração. Os valores suportados são: v1, v2. 1.5.2
<subscriptionId> false Especifique a ID da assinatura. 0.1.0+
<resourceGroup> true Grupo de recursos do Azure para seu aplicativo Web. 0.1.0+
<appName> true O nome do seu aplicativo Web. 0.1.0+
<region> false Especifica a região para hospedar seu Aplicativo Web; o valor padrão é centralus. Todas as regiões válidas na seção Regiões com suporte. 0.1.0+
<pricingTier> false O tipo de preço do seu aplicativo Web. O valor padrão é P1v2 para a carga de trabalho de produção, enquanto B2 é o mínimo recomendado para o ambiente de desenvolvimento/teste do Java. Para saber mais, veja Preços do Serviço de Aplicativo 0.1.0+
<runtime> false A configuração do ambiente de tempo de execução. Para mais informações, confira Informações de configuração. 0.1.0+
<deployment> false Configuração de implantação. Para mais informações, confira Informações de configuração. 0.1.0+

Para obter a lista completa de configurações, veja a documentação de referência do plug-in. Todos os Plug-ins do Azure para Maven compartilham um conjunto comum de configurações. Para ver essas configurações, confira Configurações comuns. Para conhecer as configurações específicas do Serviço de Aplicativo, veja Aplicativo Web do Azure: detalhes da configuração.

Tenha cuidado com os valores de <appName> e <resourceGroup> (petstoreee7-1690443003536 e petstoreee7-1690443003536-rg de acordo com a demonstração). Eles são usados mais tarde.

4 – Implantar o aplicativo

Com todas as configurações prontas no arquivo pom.xml, é possível implantar o aplicativo Java no Azure usando um comando único.

# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests

Quando a implantação for concluída, seu aplicativo estará pronto em http://<appName>.azurewebsites.net/ (http://petstoreee7-1690443003536.azurewebsites.net na demonstração). Abra a URL com o navegador da Web local para ver

Screenshot of Maven Hello World web app running in Azure App Service.

Parabéns! Você implantou seu primeiro aplicativo Java no Serviço de Aplicativo.

5 – Limpar recursos

Nas etapas anteriores, você criou os recursos do Azure em um grupo de recursos. Se você não precisar desses recursos no futuro, exclua o grupo de recursos por meio do portal ou executando o seguinte comando no Cloud Shell:

az group delete --name <your resource group name; for example: petstoreee7-1690443003536-rg> --yes

Esse comando pode demorar um pouco para ser executado.

Próximas etapas