Udostępnij za pośrednictwem


Wdrażanie aplikacji internetowej Helidon w usłudze Azure App Service za pomocą narzędzia Maven

W tym przewodniku Szybki start użyjesz wtyczki Maven dla usługi Azure App Service Web Apps w celu wdrożenia aplikacji Helidon w celu usługi Azure App Service w systemie Linux. Wybierz pozycję Wdrożenie środowiska Java SE na pliki Tomcat i WAR, gdy chcesz skonsolidować zależności, środowisko uruchomieniowe i konfigurację aplikacji w jeden artefakt możliwy do wdrożenia.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto .

Warunki wstępne

  • Azure CLI lokalnie lub za pośrednictwem usługi Azure Cloud Shell .
  • Obsługiwany zestaw do tworzenia oprogramowania w języku Java (JDK). Aby uzyskać więcej informacji na temat zestawów JDK dostępnych do użycia podczas tworzenia aplikacji na platformie Azure, zobacz obsługa języka Java na platformie Azure i w usłudze Azure Stack.
  • Apache Maven, wersja 3.

Zaloguj się do Azure CLI

Najprostszym i najprostszym sposobem uzyskania wtyczki Maven wdrażającej aplikację Helidon jest użycie interfejsu wiersza polecenia platformy Azure.

Zaloguj się do konta platformy Azure przy użyciu następującego polecenia w interfejsie wiersza polecenia platformy Azure:

az login

Postępuj zgodnie z instrukcjami, aby ukończyć proces logowania.

Tworzenie przykładowej aplikacji na podstawie szablonu startowego MicroProfile

W tej sekcji utworzysz aplikację Helidon i przetestujesz ją lokalnie.

  1. Otwórz przeglądarkę internetową i przejdź do witryny MicroProfile Starter.

    zrzut ekranu przedstawiający MicroProfile Starter z wybranym środowiskiem uruchomieniowym Helidon.

  2. Wprowadź lub wybierz pole, jak pokazano poniżej.

    Pole Wartość
    groupId com.microsoft.azure.samples.helidon
    artifactId helidon-hello-azure
    Wersja programu MicroProfile MP 3.2
    Wersja środowiska Java SE Java 11
    Środowisko uruchomieniowe microProfile Helidon
    Przykłady specyfikacji Metryki, OpenAPI
  3. Wybierz pozycję POBIERZ, aby pobrać projekt.

  4. Rozpakuj plik archiwum. Możesz użyć wiersza polecenia, jak w poniższym przykładzie:

    unzip helidon-hello-azure.zip
    
  5. Alternatywnie możesz utworzyć projekt przy użyciu następującego polecenia:

    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. Zmień katalog na ukończony projekt przy użyciu następującego polecenia:

    cd helidon-hello-azure/
    
  7. Skompiluj plik JAR przy użyciu narzędzia Maven, używając następującego polecenia:

    mvn clean package
    
  8. Po utworzeniu aplikacji internetowej uruchom ją za pomocą następującego polecenia narzędzia Maven:

    java -jar target/helidon-hello-azure.jar
    
  9. Przetestuj aplikację internetową, przechodząc do niej lokalnie przy użyciu przeglądarki internetowej. Na przykład możesz użyć następującego polecenia, jeśli masz dostępny program curl:

    curl http://localhost:8080/greet
    
  10. Powinien zostać wyświetlony następujący komunikat: Hello World

Konfigurowanie wtyczki Maven dla usługi Azure App Service

W tej sekcji skonfigurujesz plik pom.xml projektu Helidon, aby program Maven mógł wdrożyć aplikację w usłudze Azure App Service w systemie Linux.

  1. Otwórz plik pom.xml w edytorze kodu.

  2. W sekcji <build> pliku pom.xml wstaw następujący wpis <plugin> wewnątrz tagu <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. Skonfiguruj wdrożenie przy użyciu następującego polecenia narzędzia Maven:

    mvn azure-webapp:config
    

    Po wyświetleniu monitu wybierz następujące opcje:

    Pole wejściowe Dane wejściowe/wybierz wartość
    Zdefiniuj wartość dla systemu operacyjnego (ustawienie domyślne: Linux): 1. linux
    Zdefiniuj wartość parametru javaVersion(Ustawienie domyślne: Java 8): 1. Java 11
    Potwierdź (Y/N) y

    To polecenie generuje dane wyjściowe podobne do następującego przykładu:

    [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. Dodaj sekcję <appSettings> do sekcji <configuration> w PORT, WEBSITES_PORTi WEBSITES_CONTAINER_START_TIME_LIMIT. Dodaj <include>/libs/*.jar</include> do zasobów we wdrożeniu.

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

Wdrażanie aplikacji na platformie Azure

Po skonfigurowaniu wszystkich ustawień w poprzednich sekcjach tego artykułu możesz przystąpić do wdrażania aplikacji internetowej na platformie Azure. W tym celu wykonaj następujące czynności:

  1. W wierszu polecenia lub w oknie terminalu, którego używano wcześniej, odbuduj plik JAR przy użyciu narzędzia Maven, jeśli dokonałeś jakichkolwiek zmian w pliku pom.xml, używając następującego polecenia:

    mvn clean package
    
  2. Wdróż aplikację internetową na platformie Azure przy użyciu narzędzia Maven przy użyciu następującego polecenia:

    mvn azure-webapp:deploy
    

Narzędzie Maven wdraża aplikację internetową na platformie Azure. Jeśli plan aplikacji internetowej lub aplikacja internetowa jeszcze nie istnieją, zostaną one utworzone dla Ciebie. Może upłynąć kilka minut, zanim aplikacja internetowa będzie widoczna pod adresem URL widocznym w danych wyjściowych. Przejdź do adresu URL w przeglądarce internetowej. Powinien zostać wyświetlony komunikat: Hello World

Po wdrożeniu aplikacji internetowej możesz zarządzać nią za pośrednictwem witryny Azure Portal.

Twoja aplikacja internetowa została umieszczona w App Services.

Dostęp do aplikacji internetowej można uzyskać, wybierając opcję Przeglądaj na stronie Przegląd swojej aplikacji internetowej.

Sprawdź, czy wdrożenie zakończyło się pomyślnie, używając polecenia /greet cURL tak jak poprzednio, używając adresu URL aplikacji internetowej z witryny Azure Portal zamiast localhost. Powinien zostać wyświetlony następujący komunikat: Hello World

Potwierdź strumień logów z działającej usługi App Service

Możesz użyć następującego polecenia, aby wyświetlić — lub tail — dzienniki z uruchomionej usługi App Service. Wszystkie wywołania console.log w kodzie witryny są wyświetlane w terminalu.

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

Zrzut ekranu przedstawiający okno terminalu z danymi wyjściowymi dziennika.

Czyszczenie zasobów

Gdy zasoby platformy Azure nie są już potrzebne, wyczyść wdrożone zasoby, usuwając grupę zasobów.

  1. W witrynie Azure Portal wybierz pozycję Grupa zasobów z menu.
  2. Wprowadź microprofile w polu Filtruj według nazwy. Grupa zasobów utworzona w tym samouczku powinna mieć ten prefiks.
  3. Wybierz grupę zasobów utworzoną w tym samouczku.
  4. Wybierz Usuń grupę zasobów z menu.

Następne kroki

Aby dowiedzieć się więcej na temat programu MicroProfile i platformy Azure, przejdź do centrum dokumentacji usługi MicroProfile na platformie Azure.

Dodatkowe zasoby

Aby uzyskać więcej informacji na temat różnych technologii omówionych w tym artykule, zobacz następujące artykuły: