Wdrażanie aplikacji Open Liberty Micro Web App w usłudze aplikacja systemu Azure przy użyciu narzędzia Maven

W tym przewodniku Szybki start użyjesz wtyczki Maven dla usługi aplikacja systemu Azure Service Web Apps, aby wdrożyć aplikację Open Liberty w usłudze aplikacja systemu Azure Service w systemie Linux. Wdrożenie w środowisku Java ma przewagę nad serwerem Tomcat i plikami WAR, gdy chcesz skonsolidować zależności, środowisko uruchomieniowe i konfigurację aplikacji w pojedynczym artefakcie, który można wdrożyć.

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

Ważne

Chociaż usługa aplikacja systemu Azure jest inżynieryjna, obsługiwana i obsługiwana przez firmę Microsoft, oprogramowanie, na którym jest uruchamiane, podlega własnym warunkom pomocy technicznej i postanowień licencyjnych dotyczących planu pomocy technicznej. Aby uzyskać szczegółowe informacje o obsłudze oprogramowania opisanego w tym artykule, zobacz strony główne dotyczące tego oprogramowania zgodnie z opisem w artykule. Aby uzyskać wsparcie dla Open Liberty, zobacz stronę pomocy technicznej Open Liberty. Aby uzyskać pomoc techniczną dotyczącą platformy WebSphere Liberty, zobacz IBM Cloud Support (Pomoc techniczna firmy IBM w chmurze).

Wymagania wstępne

Logowanie do interfejsu wiersza polecenia platformy Azure

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

Zaloguj się do konta platformy Azure przy użyciu interfejsu 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ę Open Liberty i przetestujesz ją lokalnie.

  1. Otwórz przeglądarkę internetową i przejdź do witryny Start microProfile .

    Zrzut ekranu przedstawiający szablon startowy MicroProfile z wybranym środowiskiem uruchomieniowym Open Liberty.

  2. Użyj wartości w poniższej tabeli, aby wypełnić szablon startowy MicroProfile.

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

  4. Rozpakuj plik archiwum; na przykład:

    unzip openliberty-hello-azure.zip
    

Uruchamianie aplikacji w środowisku lokalnym

  1. Zmień katalog na ukończony projekt, na przykład:

    cd openliberty-hello-azure/
    
  2. Skompiluj projekt przy użyciu narzędzia Maven; na przykład:

    mvn clean package
    
  3. Uruchom projekt; na przykład:

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

    curl http://localhost:9080/data/hello
    
  5. 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 Open Liberty, aby program Maven mógł wdrożyć aplikację w usłudze aplikacja systemu Azure Service w systemie Linux.

  1. Aby skonfigurować wdrożenie, uruchom następujące polecenie narzędzia Maven:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.3.0: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): 2. Java 11
    Zdefiniuj wartość elementu runtimeStack(Ustawienie domyślne: TOMCAT 8.5): 2. TOMCAT 8.5
    Confirm (Y/N) (Potwierdź — T/N) t

Uwaga

Mimo że nie używamy serwera Tomcat, wybierz TOMCAT 8.5 je w tej chwili. Podczas szczegółowej konfiguracji zmodyfikujesz wartość z TOMCAT 8.5 na Java. W tym przykładzie użyto określonej wersji wtyczki aplikacja systemu Azure Service Maven. Należy rozważyć użycie najnowszej dostępnej wersji. Możesz odnaleźć liczbę najnowszej wersji, odwiedzając witrynę, taką jak mvnrepository.com.

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

 [INFO] Scanning for projects...
 [INFO]
 [INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
 [INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
 [INFO] --------------------------------[ war ]---------------------------------
 [INFO]
 [INFO] --- azure-webapp-maven-plugin:2.3.0:config (default-cli) @ openliberty-hello-azure ---
 Auth type: AZURE_CLI
 Default subscription:
 Username:
 [INFO] Subscription:
 [INFO] It may take a few minutes to load all Java Web Apps, please be patient.
 Define value for OS [Linux]:
   1: Windows
 * 2: Linux
   3: Docker
 Enter your choice:
 Define value for javaVersion [Java 8]:
 * 1: Java 8
   2: Java 11
 Enter your choice: 2
 Define value for webContainer [Tomcat 8.5]:
   1: Jbosseap 7
 * 2: Tomcat 8.5
   3: Tomcat 9.0
 Enter your choice:
 Define value for pricingTier [P1v2]:
   1: B1
   2: B2
   3: B3
   4: D1
   5: EP1
   6: EP2
   7: EP3
   8: F1
 *  9: P1v2
   10: P1v3
   11: P2v2
   12: P2v3
   13: P3v2
   14: P3v3
   15: S1
   16: S2
   17: S3
   18: Y1
 Enter your choice:
 Please confirm webapp properties
 Subscription Id : ********-****-****-****-************
 AppName : openliberty-hello-azure-1642075767899
 ResourceGroup : openliberty-hello-azure-1642075767899-rg
 Region : centralus
 PricingTier : P1v2
 OS : Linux
 Java : Java 11
 Web server stack: Tomcat 8.5
 Deploy to slot : false
 Confirm (Y/N) [Y]:
 [INFO] Saving configuration to pom.
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time:  21.981 s
 [INFO] Finished at: 2022-01-13T21:09:39+09:00
 [INFO] ------------------------------------------------------------------------
  1. Zmodyfikuj plik server.xml w katalogu /src/main/liberty/config/ , aby uruchomić aplikację w usłudze Azure Web Apps. W pliku dodaj host="*" wiersz w tagu <httpEndpoint> , jak pokazano w poniższym przykładzie:

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443"/>
    
  2. Zmodyfikuj runtime wpis z TOMCAT 8.5 do java i deployment od *.war do *.jar w pliku pom.xml . Następnie dodaj sekcję <appSettings> do <configuration> sekcji , PORTWEBSITES_PORTi WEBSITES_CONTAINER_START_TIME_LIMIT. Wpis XML elementu azure-webapp-maven-plugin będzie wyglądać podobnie do następującego przykładu:

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>2.3.0</version>
      <configuration>
        <schemaVersion>v2</schemaVersion>
        <subscriptionId>********-****-****-****-************</subscriptionId>
        <resourceGroup>openliberty-hello-azure-1642075767899-rg</resourceGroup>
        <appName>openliberty-hello-azure-1642075767899</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>Linux</os>
          <javaVersion>Java 11</javaVersion>
          <webContainer>java</webContainer>
        </runtime>
      <appSettings>
        <property>
          <name>PORT</name>
          <value>9080</value>
        </property>
          <property>
          <name>WEBSITES_PORT</name>
          <value>9080</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>
    

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. Aby to zrobić, wykonaj następujące kroki:

  1. Jeśli w pliku pom.xml wprowadzono jakiekolwiek zmiany, w wierszu polecenia lub w oknie terminalu, które były używane wcześniej, skompiluj ponownie plik JAR przy użyciu narzędzia Maven, na przykład:

    mvn clean package
    
  2. Wdróż aplikację internetową na platformie Azure przy użyciu narzędzia Maven, na przykład:

    mvn azure-webapp:deploy
    

Jeśli wdrożenie zakończyło się pomyślnie, zostaną wyświetlone następujące dane wyjściowe.

[INFO] Scanning for projects...
[INFO]
[INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
[INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:2.3.0:deploy (default-cli) @ openliberty-hello-azure ---
Auth type: AZURE_CLI
[INFO] Creating web app openliberty-hello-azure-1642075767899...
[INFO] Successfully created Web App openliberty-hello-azure-1642075767899.
[INFO] Trying to deploy external resources to openliberty-hello-azure-1642075767899...
[INFO] Successfully deployed the resources to openliberty-hello-azure-1642075767899
[INFO] Trying to deploy artifact to openliberty-hello-azure-1642075767899...
[INFO] Deploying (/Users/Downloads/openliberty-hello-azure/target/openliberty-hello-azure.jar)[jar]  ...
[INFO] Successfully deployed the artifact to https://openliberty-hello-azure-1642075767899.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:11 min
[INFO] Finished at: 2022-01-13T21:29:50+09:00
[INFO] ------------------------------------------------------------------------

Narzędzie Maven wdroży aplikację internetową na platformie Azure. Jeśli plan aplikacji internetowej lub aplikacji internetowej jeszcze nie istnieje, zostanie on utworzony dla Ciebie. Zanim aplikacja internetowa będzie widoczna pod adresem URL widocznym w danych wyjściowych, może upłynąć kilka minut. Przejdź do adresu URL w przeglądarce internetowej. Powinien zostać wyświetlony następujący ekran.

Zrzut ekranu przedstawiający stronę frontonu przeglądarki Open Liberty.

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

Aplikacja internetowa zostanie wyświetlona w grupie zasobów.

Aby uzyskać dostęp do aplikacji internetowej, wybierz pozycję Przeglądaj na stronie Przegląd aplikacji internetowej. Sprawdź, czy wdrożenie zakończyło się pomyślnie i czy uruchomiono.

Potwierdzanie strumienia dziennika z uruchomionej usługi App Service

Dzienniki można wyświetlić (lub "tail") 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 openliberty-hello-azure-1642075767899-rg \
    --name openliberty-hello-azure-1642075767899

Zrzut ekranu przedstawiający okno terminalu z strumieniem dziennika.

Czyszczenie zasobów

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

  • W witrynie Azure Portal wybierz pozycję Grupa zasobów z menu po lewej stronie.
  • Wprowadź wartość microprofile w polu Filtruj według nazwy , a grupa zasobów utworzona w tym samouczku powinna mieć ten prefiks.
  • Wybierz grupę zasobów utworzoną w ramach tego samouczka.
  • Z górnego menu wybierz pozycję Usuń grupę zasobów.

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: