Delen via


Een Helidon-web-app implementeren in Azure App Service met Maven

In deze quickstart gebruikt u de Maven-invoegtoepassing voor Azure App Service Web Apps om een Helidon-toepassing te implementeren in Azure App Service op Linux. Kies Java SE-implementatie via Tomcat- en WAR-bestanden wanneer u de afhankelijkheden, runtime en configuratie van uw app wilt consolideren in één implementeerbaar artefact.

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Voorwaarden

Aanmelden bij de Azure CLI

De eenvoudigste en eenvoudigste manier om de Maven-invoegtoepassing voor het implementeren van uw Helidon-toepassing te krijgen, is met behulp van de Azure CLI.

Meld u aan bij uw Azure-account met behulp van de volgende opdracht in de Azure CLI:

az login

Volg de instructies om het aanmeldingsproces te voltooien.

Voorbeeld-app maken van MicroProfile Starter

In deze sectie maakt u een Helidon-toepassing en test u deze lokaal.

  1. Open een webbrowser en navigeer naar de MicroProfile Starter-site.

    Schermopname van MicroProfile Starter met Helidon Runtime geselecteerd.

  2. Voer het veld in of selecteer het veld als volgt.

    Veld Waarde
    groepId com.microsoft.azure.samples.helidon
    artifactId helidon-hello-azure
    MicroProfile-versie MP 3.2
    Java SE-versie Java 11
    MicroProfile Runtime Helidon
    Voorbeelden voor specificaties Metrische gegevens, OpenAPI
  3. Selecteer DOWNLOAD- om het project te downloaden.

  4. Pak het archiefbestand uit. U kunt de opdrachtregel gebruiken, zoals in het volgende voorbeeld:

    unzip helidon-hello-azure.zip
    
  5. U kunt het project ook maken met behulp van de volgende opdracht:

    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. Wijzig de map in het voltooide project met behulp van de volgende opdracht:

    cd helidon-hello-azure/
    
  7. Bouw het JAR-bestand met behulp van Maven met behulp van de volgende opdracht:

    mvn clean package
    
  8. Nadat de web-app is gemaakt, start u deze met behulp van de volgende Maven-opdracht:

    java -jar target/helidon-hello-azure.jar
    
  9. Test de web-app door er lokaal naar te bladeren met behulp van een webbrowser. U kunt bijvoorbeeld de volgende opdracht gebruiken als u curl beschikbaar hebt:

    curl http://localhost:8080/greet
    
  10. Het volgende bericht wordt weergegeven: Hallo Wereld

De Maven-invoegtoepassing configureren voor Azure App Service

In deze sectie configureert u het Helidon-project pom.xml bestand, zodat Maven de app kan implementeren in Azure App Service op Linux.

  1. Open het pom.xml-bestand in een code-editor.

  2. Voeg in de sectie <build> van het pom.xml-bestand de volgende <plugin> vermelding in de <plugins>-tag in:

    <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. Configureer de implementatie met behulp van de volgende Maven-opdracht:

    mvn azure-webapp:config
    

    Selecteer de volgende opties wanneer u hierom wordt gevraagd:

    Invoerveld Invoer/waarde selecteren
    Definieer de waarde voor het besturingssysteem (standaard: Linux): 1. Linux
    Waarde definiëren voor javaVersion(standaard: Java 8): 1. Java 11
    Bevestigen (Y/N) y

    Met deze opdracht wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:

    [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. Voeg de sectie <appSettings> toe aan de sectie <configuration> van PORT, WEBSITES_PORTen WEBSITES_CONTAINER_START_TIME_LIMIT. Voeg <include>/libs/*.jar</include> toe aan de resources in de implementatie.

    <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>
    

De app implementeren in Azure

Nadat u alle instellingen in de voorgaande secties van dit artikel hebt geconfigureerd, kunt u uw web-app implementeren in Azure. Gebruik hiervoor de volgende stappen:

  1. Bouw vanaf de opdrachtprompt of het terminalvenster dat u eerder gebruikte het JAR-bestand opnieuw met behulp van Maven als u wijzigingen in het pom.xml bestand hebt aangebracht met behulp van de volgende opdracht:

    mvn clean package
    
  2. Implementeer uw web-app in Azure met behulp van Maven met behulp van de volgende opdracht:

    mvn azure-webapp:deploy
    

Maven implementeert uw web-app in Azure. Als het web-app- of web-app-plan nog niet bestaat, wordt deze voor u gemaakt. Het kan enkele minuten duren voordat de web-app zichtbaar is op de URL die in de uitvoer wordt weergegeven. Navigeer naar de URL in een webbrowser. Het bericht wordt weergegeven: Hallo wereld

Wanneer uw web-app is geïmplementeerd, kunt u deze beheren via de Azure Portal.

Uw web-app wordt vermeld in App Services-.

U kunt toegang tot uw web-app krijgen door op de Overzicht-paginaBladeren te selecteren voor uw web-app.

Controleer of de implementatie is geslaagd met behulp van de /greet cURL-opdracht zoals voorheen, met behulp van de URL van uw web-app vanuit Azure Portal in plaats van localhost. Het volgende bericht wordt weergegeven: Hallo Wereld

Bevestig de logboekstream van de actieve App Service

U kunt de volgende opdracht gebruiken om de logboeken van de actieve App Service weer te geven ( of tail). Alle aanroepen naar console.log in de sitecode worden weergegeven in de terminal.

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

Schermopname van het terminalvenster met logboekuitvoer.

Resources opschonen

Wanneer de Azure-resources niet meer nodig zijn, schoont u de resources op die u hebt geïmplementeerd door de resourcegroep te verwijderen.

  1. In de Azure Portal selecteer je resourcegroep in het menu.
  2. Voer microprofiel in het veld Filteren op naam in. De resourcegroep die in deze handleiding is aangemaakt, moet dit voorvoegsel hebben.
  3. Selecteer de resourcegroep die in deze zelfstudie is gemaakt.
  4. Selecteer Verwijder resourcegroep in het menu.

Volgende stappen

Voor meer informatie over MicroProfile en Azure, kunt u doorgaan naar het documentatiecentrum van MicroProfile op Azure.

Aanvullende informatiebronnen

Zie de volgende artikelen voor meer informatie over de verschillende technologieën die in dit artikel worden besproken: