Implementación de aplicaciones de Java de ejemplo

Completado

En esta unidad, configurará una aplicación de Spring Boot que se implementará mediante Maven. Después, implementará la aplicación en una instancia de Azure App Service. En esta unidad se muestra el ejemplo de una clínica veterinaria.

Aplicación de ejemplo

Clónelo en su herramienta de línea de comandos favorita.

git clone https://github.com/spring-projects/spring-petclinic.git

Y después ejecútela localmente.

cd spring-petclinic

./mvnw package

java -jar target/*.jar

Al abrir el ejemplo en el explorador, debería ser similar al siguiente:

Screenshot that shows clicking through the local deployment of the example pet clinic application.

Preparación de la aplicación de ejemplo para la nube

En la carpeta src encontrará las clases object, controller y repository.

Dado que Java es independiente de la plataforma, puede elegir libremente el sistema operativo, pero la versión de Java es importante para la implementación. Puede encontrar la versión de Java en el archivo pom.xml.

<properties>
    <java.version>17</java.version>
</properties>

En el ejemplo se utiliza Java 8, por lo que nuestra instancia de Azure App Service, ya sea para Linux o Windows, también debería utilizar Java 8. Como la plataforma es irrelevante, en el ejemplo se usará Linux.

Será necesario agregar algunas dependencias de Azure al archivo pom.xml. Las dependencias se pueden agregar de forma automática si se ejecuta el comando siguiente:

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

La salida de ese comando pedirá que se especifiquen algunas opciones. Estas opciones se almacenarán automáticamente en pom.xml.

Please choose which part to config:
* 1: Application
  2: Runtime
  3: DeploymentSlot
Enter your choice: 1
Define value for appName [spring-petclinic-XXXX200]:
Define value for resourceGroup [spring-petclinic-XXXX200-rg]:
Define value for region [westeurope]:
Define value for pricingTier(P1v2):
   1: b1
   2: b2
   3: b3
   4: d1
   5: f1
*  6: p1v2
   7: p2v2
   8: p3v2
   9: s1
  10: s2
  11: s3
Enter your choice: 1
Please confirm webapp properties
AppName : spring-petclinic-XXXX200
ResourceGroup : spring-petclinic-XXXX200-rg
Region : westeurope
PricingTier : Basic_B2
OS : Linux
RuntimeStack : JAVA 8-jre8
Deploy to slot : false
Confirm (Y/N) [Y]: y

[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

Como puede ver, puede usar los valores predeterminados para una implementación sencilla.

El archivo pom.xml ya ha agregado el complemento necesario para la implementación automática basada en Maven en Azure.

 <plugin>
    <groupId>com.microsoft.azure</groupId>  
        <artifactId>azure-webapp-maven-plugin</artifactId>  
        <version>2.11.1</version>  
        <configuration>
          <schemaVersion>V2</schemaVersion>  
          <subscriptionId>XXX-XXX-XXX</subscriptionId>  
          <resourceGroup>spring-petclinic-XXX200-rg</resourceGroup>  
          <appName>spring-petclinic-XXX200</appName>  
          <pricingTier>B2</pricingTier>  
          <region>westeurope</region>  
          <runtime>
            <os>linux</os>  
            <javaVersion>jre8</javaVersion>  
            <webContainer>jre8</webContainer>
          </runtime>  
          <deployment>
            <resources>
              <resource>
                <directory>${project.basedir}/target</directory>  
                <includes>
                  <include>*.jar</include>
                </includes>
              </resource>
            </resources>
          </deployment>
        </configuration>
  </plugin>

Implementación de la aplicación con Maven

Ya estamos preparados para la implementación en Azure App Service.

mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy

Este comando ejecuta las pruebas. Después, pone en marcha automáticamente una instancia de Azure App Service e implementa la aplicación empaquetada.

Screenshot of the deployed example pet clinic application.

Felicidades. La aplicación se ha implementado correctamente en Azure App Service.