Condividi tramite


Distribuire un'app Web KumuluzEE nel servizio app di Azure con Maven

In questa guida introduttiva, si utilizzerà il plug-in Maven per le App Web del Servizio App di Azure per distribuire un'applicazione KumuluzEE su Servizio App di Azure su Linux. Si sceglie la distribuzione java SE su file Tomcat e WAR quando si vogliono consolidare le dipendenze, il runtime e la configurazione dell'app in un singolo artefatto distribuibile.

Se non hai un abbonamento a Azure, crea un account gratuito prima di iniziare.

Prerequisiti

Accedi alla CLI di Azure

Il modo più semplice e semplice per ottenere il plug-in Maven che distribuisce l'applicazione KumuluzEE consiste nell'usare l'interfaccia della riga di comando di Azure . Accedere all'account Azure usando l'interfaccia della riga di comando di Azure:

az login

Seguire le istruzioni per completare il processo di accesso.

Creare un'app di esempio da MicroProfile Starter

In questa sezione crei un'applicazione KumuluzEE e la testi localmente.

Creare un progetto di base Java SE 8

  1. Aprire un browser web e passare al sito MicroProfile Starter.

    Screenshot che mostra l'opzione MicroProfile Starter con kumuluzEE runtime selezionata.

  2. Immettere o selezionare i valori dei campi in base a quelli nella tabella seguente:

    Campo Valore
    groupId com.microsoft.azure.samples.kumuluzee
    artifactId kumuluzEE-hello-azure
    Versione MicroProfile MP 3.2
    Versione di Java SE Java 8
    MicroProfile Runtime KumuluzEE
    Esempi di specifiche Metriche, OpenAPI
  3. Selezionare DOWNLOAD per scaricare il progetto.

  4. Decomprimere il file di archivio usando il comando seguente:

    unzip kumuluzEE-hello-azure.zip
    

Eseguire l'applicazione in un ambiente locale

  1. Modificare la directory nel progetto completato usando il comando seguente:

    cd kumuluzEE-hello-azure/
    
  2. Compilare il progetto usando Maven usando il comando seguente:

    mvn clean package
    
  3. Eseguire l'applicazione usando il comando seguente:

    java -jar target/kumuluzEE-hello-azure.jar
    
  4. Testare l'app Web passando a essa in locale usando un Web browser. Ad esempio, è possibile usare il comando seguente se è disponibile curl:

    curl http://localhost:8080/data/hello
    
  5. Verrà visualizzato il messaggio seguente: Hello World.

Configurare il plug-in Maven per il servizio app di Azure

In questa sezione viene configurato il progetto KumuluzEEE pom.xml file in modo che Maven possa distribuire l'app nel servizio app di Azure in Linux.

  1. Aprire il file pom.xml in un editor di codice.

  2. Nella sezione <build> del file pom.xml, inserire la seguente voce di <plugin> all'interno del tag <plugins>.

    <build>
      <finalName>kumuluzEE-hello-azure</finalName>
      <plugins>
        <plugin>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-webapp-maven-plugin</artifactId>
          <version>1.10.0</version>
        </plugin>
      </plugins>
    </build>
    
  3. Configurare la distribuzione eseguendo il comando Maven seguente:

    mvn azure-webapp:config
    

    Selezionare le opzioni seguenti quando richiesto:

    Campo di input Inserisci/Seleziona valore
    Definire il valore per il sistema operativo (predefinito: Linux): 1. Linux
    Definire il valore per javaVersion(Default: Java 8): 2. Java 8
    Conferma (Y/N) y

    Questo comando genera un output simile all'esempio seguente:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ----< com.microsoft.azure.samples.kumuluzee:kumuluzEE-hello-azure >-----
    [INFO] Building kumuluzEE-hello-azure 1.0-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ kumuluzEE-hello-azure ---
    1. linux [*]
    2. windows
    3. docker
    Enter index to use: 1
    Define value for javaVersion(Default: Java 8):
    1. Java 11
    2. Java 8 [*]
    Enter index to use: 2
    Please confirm webapp properties
    AppName : kumuluzEE-hello-azure-1601006602397
    ResourceGroup : kumuluzEE-hello-azure-1601006602397-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : JAVA 8-jre8
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  44.223 s
    [INFO] Finished at: 2020-09-25T13:04:02+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. Aggiungere la sezione <appSettings> alla sezione <configuration> di PORT, WEBSITES_PORTe WEBSITES_CONTAINER_START_TIME_LIMIT. La voce XML per azure-webapp-maven-plugin dovrebbe essere simile all'esempio seguente:

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>1.10.0</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>kumuluzEE-hello-azure-1601006602397</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>jre8</javaVersion>
          <webContainer>jre8</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>
    

Distribuire l'app in Azure

Dopo aver configurato tutte le impostazioni nelle sezioni precedenti di questo articolo, si è pronti per distribuire l'app Web in Azure. A tale scopo, seguire questa procedura:

  1. Dal prompt dei comandi o dalla finestra del terminale in uso in precedenza, ricompilare il file JAR usando Maven, se sono state apportate modifiche al file pom.xml, usando il comando seguente:

    mvn clean package
    
  2. Distribuire l'app Web in Azure usando il comando Maven seguente:

    mvn azure-webapp:deploy
    

Se la distribuzione ha avuto esito positivo, viene visualizzato l'output seguente:

[INFO] Successfully deployed the artifact to https://kumuluzee-hello-azure-1601006602397.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:23 min
[INFO] Finished at: 2020-09-25T13:13:14+09:00
[INFO] ------------------------------------------------------------------------

Maven distribuisce la tua app Web in Azure. Se l'app Web o il piano dell'app Web non esiste già, viene creato automaticamente. Potrebbero essere necessari alcuni minuti prima che l'app Web sia visibile nell'URL visualizzato nell'output. Navigare all'URL in un browser Web. Verrà visualizzata la schermata seguente:

Screenshot del Web browser che mostra la pagina iniziale di KumuluzEE.

Dopo aver distribuito l'app Web, è possibile gestirla tramite il portale di Azure . L'app Web è elencata nel microprofile gruppo di risorse.

Puoi accedere alla tua app Web selezionando Sfoglia nella pagina della Panoramica per la tua app Web. Verificare che la distribuzione sia riuscita ed è in esecuzione.

Verificare lo streaming dei log dall'App Service in esecuzione

È possibile usare il seguente comando per visualizzare o tail i log del servizio App in esecuzione. Tutte le chiamate a console.log nel codice del sito vengono visualizzate nel terminale.

az webapp log tail \
    --resource-group microprofile \
    --name kumuluzEE-hello-azure-1601006602397

Screenshot della finestra del terminale che mostra il flusso di log.

Pulire le risorse

Quando le risorse di Azure non sono più necessarie, pulire le risorse distribuite eliminando il gruppo di risorse.

  1. Nel portale di Azure selezionare gruppo di risorse dal menu.
  2. Immettere microprofile nel campo Filtro per nome. Il gruppo di risorse creato in questa esercitazione deve avere questo prefisso.
  3. Selezionare il gruppo di risorse creato in questa esercitazione.
  4. Selezionare Elimina gruppo di risorse dal menu.

Passaggi successivi

Per altre informazioni su MicroProfile e Azure, passare al Centro documentazione di MicroProfile in Azure.

Risorse aggiuntive

Per altre informazioni sulle varie tecnologie descritte in questo articolo, vedere gli articoli seguenti: