Dela via


Distribuera en Helidon-webbapp till Azure App Service med Maven

I den här snabbstarten använder du Maven-plugin-programmet för Azure App Service Web Apps för att distribuera en Helidon-applikation till Azure App Service på Linux. Välj Java SE-distribution framför Tomcat- och WAR-filer när du vill konsolidera appens beroenden, körning och konfiguration till en enda distribuerbar artefakt.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

Logga in på Azure CLI

Det enklaste och enklaste sättet att få Maven-plugin-programmet att distribuera ditt Helidon-program är att använda Azure CLI-.

Logga in på ditt Azure-konto med hjälp av följande kommando i Azure CLI:

az login

Följ anvisningarna för att slutföra inloggningsprocessen.

Skapa exempelapp från MicroProfile Starter

I det här avsnittet skapar du ett Helidon-program och testar det lokalt.

  1. Öppna en webbläsare och gå till webbplatsen MicroProfile Starter.

    Skärmbild som visar MicroProfile Starter med Helidon-körmiljö vald.

  2. Ange eller Välj fältet på följande sätt.

    Fält Värde
    gruppId com.microsoft.azure.samples.helidon
    artifactId helidon-hello-azure
    MicroProfile-version MP 3.2
    Java SE-version Java 11
    MicroProfile Runtime Helidon
    Exempel för specifikationer Metrik, OpenAPI
  3. Välj LADDA NED för att ladda ned projektet.

  4. Packa upp arkivfilen. Du kan använda kommandoraden, som i följande exempel:

    unzip helidon-hello-azure.zip
    
  5. Du kan också skapa projektet med hjälp av följande kommando:

    mvn -U archetype:generate -DinteractiveMode=false \
        -DarchetypeGroupId=io.helidon.archetypes \
        -DarchetypeArtifactId=helidon-quickstart-se \
        -DarchetypeVersion=2.0.0 \
        -DgroupId=com.microsoft.azure.samples.helidon \
        -DartifactId=helidon-hello-azure \
        -Dpackage=com.microsoft.azure.samples.helidon
    
  6. Ändra katalogen till det slutförda projektet med hjälp av följande kommando:

    cd helidon-hello-azure/
    
  7. Skapa JAR-filen med Maven med hjälp av följande kommando:

    mvn clean package
    
  8. När webbappen har skapats startar du den med följande Maven-kommando:

    java -jar target/helidon-hello-azure.jar
    
  9. Testa webbappen genom att bläddra till den lokalt med hjälp av en webbläsare. Du kan till exempel använda följande kommando om du har curl tillgängligt:

    curl http://localhost:8080/greet
    
  10. Du bör se följande meddelande: Hello World

Konfigurera Maven-plugin-programmet för Azure App Service

I det här avsnittet konfigurerar du Helidon-projektet pom.xml-filen så att Maven kan distribuera appen till Azure App Service i Linux.

  1. Öppna filen pom.xml i en kodredigerare.

  2. I avsnittet <build> i pom.xml-filen ska du infoga följande post <plugin> i taggen <plugins>:

    <build>
      <finalName>helidon-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. Konfigurera distributionen med hjälp av följande Maven-kommando:

    mvn azure-webapp:config
    

    Välj följande alternativ när du uppmanas att göra det:

    Indatafält Ange/välj värde
    Definiera värde för OS (standard: Linux): 1. linux
    Definiera värdet för javaVersion (standard: Java 8): 1. Java 11
    Bekräfta (Y/N) y

    Det här kommandot genererar utdata som liknar följande exempel:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------< com.microsoft.azure.samples.helidon:helidon-hello-azure >-------
    [INFO] Building myproject 1.0-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ helidon-hello-azure ---
    Define value for OS(Default: Linux):
    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: 1
    Please confirm webapp properties
    AppName : helidon-hello-azure-1600998900939
    ResourceGroup : helidon-hello-azure-1600998900939-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : JAVA 11-java11
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:44 min
    [INFO] Finished at: 2020-09-25T10:57:35+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. Lägg till avsnittet <appSettings> till avsnittet <configuration> i PORT, WEBSITES_PORToch WEBSITES_CONTAINER_START_TIME_LIMIT. Lägg till <include>/libs/*.jar</include> till resurserna i distributionen.

    <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>helidon-hello-azure-1591663020899</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>java11</javaVersion>
          <webContainer>java11</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>
                <include>/libs/*.jar</include>
              </includes>
            </resource>
          </resources>
        </deployment>
      </configuration>
    

Distribuera appen till Azure

När du har konfigurerat alla inställningar i föregående avsnitt i den här artikeln är du redo att distribuera webbappen till Azure. Använd följande steg för att göra det:

  1. Från kommandotolken eller terminalfönstret som du använde tidigare återskapar du JAR-filen med Maven om du har gjort några ändringar i pom.xml-filen med hjälp av följande kommando:

    mvn clean package
    
  2. Distribuera din webbapp till Azure med hjälp av Maven med hjälp av följande kommando:

    mvn azure-webapp:deploy
    

Maven distribuerar din webbapp till Azure. Om webbappen eller webbappsplanen inte redan finns skapas den åt dig. Det kan ta några minuter innan webbappen visas på den URL som visas i utdata. Gå till URL:en i en webbläsare. Meddelandet bör visas: Hello World

När din webbapp har distribuerats kan du hantera den via Azure-portalen.

Webbappen visas i App Services-.

Du kan komma åt din webbapplikation genom att välja Bläddra på sidan Översikt för din webbapplikation.

Kontrollera att distributionen lyckades med hjälp av kommandot /greet cURL som tidigare, med hjälp av webbappens URL från Azure-portalen i stället för localhost. Du bör se följande meddelande: Hello World

Bekräfta loggströmmen från apptjänsten som körs

Du kan använda följande kommando för att visa - eller tail - loggarna från den körande app-tjänsten. Alla anrop till console.log i platskoden visas i terminalen.

az webapp log tail \
    --resource-group microprofile \
    --name helidon-hello-azure-1600998900939

Skärmbild av terminalfönstret som visar loggutdata.

Rensa resurser

När Azure-resurserna inte längre behövs rensar du de resurser som du distribuerade genom att ta bort resursgruppen.

  1. I Azure-portalen väljer du Resursgrupp på menyn.
  2. Ange mikroprofil i fältet Filtrera efter namn. Den resursgrupp som skapades i den här självstudien bör ha det här prefixet.
  3. Välj den resursgrupp som skapades i den här självstudien.
  4. Välj Ta bort resursgrupp på menyn.

Nästa steg

Om du vill veta mer om MicroProfile och Azure fortsätter du till Dokumentationscentret för MicroProfile i Azure.

Ytterligare resurser

Mer information om de olika tekniker som beskrivs i den här artikeln finns i följande artiklar: