Wdrażanie aplikacji internetowej Helidon w usłudze aplikacja systemu Azure za pomocą 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ę Helidon w celu 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.
Wymagania wstępne
- Interfejs wiersza polecenia platformy Azure — lokalnie lub za pośrednictwem usługi Azure Cloud Shell.
- Obsługiwany zestaw Java Development Kit (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.
Logowanie do interfejsu wiersza polecenia platformy Azure
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 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ę Helidon i przetestujesz ją lokalnie.
Otwórz przeglądarkę internetową i przejdź do witryny Start microProfile .
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, interfejs OpenAPI Wybierz pozycję POBIERZ , aby pobrać projekt.
Rozpakuj plik archiwum; na przykład:
unzip helidon-hello-azure.zip
Możesz też utworzyć projekt za pomocą 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
Zmień katalog na ukończony projekt, na przykład:
cd helidon-hello-azure/
Skompiluj plik JAR przy użyciu narzędzia Maven, na przykład:
mvn clean package
Po utworzeniu aplikacji internetowej uruchom ją, używając narzędzia Maven, na przykład:
java -jar target/helidon-hello-azure.jar
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:8080/greet
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 aplikacja systemu Azure Service w systemie Linux.
Otwórz plik pom.xml w edytorze kodu.
<build>
W sekcji pliku pom.xml wstaw następujący<plugin>
wpis 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>
Następnie możesz skonfigurować wdrożenie, uruchom następujące polecenie 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 Confirm (Y/N) (Potwierdź — T/N) t 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] ------------------------------------------------------------------------
Dodaj sekcję
<appSettings>
<configuration>
do sekcji ,PORT
WEBSITES_PORT
iWEBSITES_CONTAINER_START_TIME_LIMIT
. Dodaj element<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. Aby to zrobić, wykonaj następujące kroki:
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
Wdróż aplikację internetową na platformie Azure przy użyciu narzędzia Maven, na przykład:
mvn azure-webapp:deploy
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 komunikat: Hello World
Po wdrożeniu sieci Web możesz zarządzać nią za pośrednictwem witryny Azure Portal.
Aplikacja internetowa zostanie wyświetlona w usłudze App Services.
Dostęp do aplikacji internetowej można uzyskać, wybierając pozycję Przeglądaj na stronie Przegląd aplikacji internetowej.
Sprawdź, czy wdrożenie zakończyło się pomyślnie, używając tego samego polecenia cURL co poprzednio(/data/hello
), używając adresu URL aplikacji internetowej z portalu zamiast localhost
. Powinien zostać wyświetlony następujący komunikat: Hello World
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 microprofile \
--name helidon-hello-azure-1600998900939
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: