Wdrażanie aplikacji internetowej w usłudze Azure App Service

Ukończone

Wtyczka azure-webapp-maven-plugin ułatwia deweloperom języka Java pracę na dwa sposoby: pierwszy to ułatwienie zarządzania i konfigurowania wtyczki usługi Azure App Service, a drugi to uproszczenie wdrażania projektów programu Maven do usługi Azure App Service. W poprzednim ćwiczeniu utworzono szybko przykładową aplikację internetową „hello world” w języku Java i przetestowano ją lokalnie. Dodanie wtyczki Maven dla usługi Azure App Service do projektu umożliwia wdrożenie aplikacji w usłudze Azure App Service.

W tej lekcji zapoznasz się z opcjami, które firma będzie hostować w usłudze aplikacja systemu Azure Service, a następnie dowiesz się, jak dodać i skonfigurować azure-webapp-maven-plugin element do projektu Maven.

Wprowadzenie do usługi Azure App Service

Usługa Azure App Service umożliwia firmie hostowanie witryn internetowych, aplikacji internetowych, interfejsów API REST i kodu innych aplikacji na platformie Azure. Kod projektu jest uruchamiany w chmurze — nie trzeba aprowizować ani konfigurować żadnej infrastruktury. Uruchomienie aplikacji internetowej w usłudze Azure App Service daje wszystkie korzyści płynące z platformy Azure: globalna dostępność aplikacji, automatyczne skalowanie, wbudowane funkcje zabezpieczeń i zgodności oraz ponoszenie kosztów tylko użytych zasobów.

usługa aplikacja systemu Azure obsługuje wiele języków programowania, co umożliwia deweloperom dalsze pisanie aplikacji przy użyciu języków, z którymi są najbardziej wygodne. Język Java jest obywatelem pierwszej klasy, a także innymi językami, takimi jak .NET Core, Python, Node.js itp. Aplikacje internetowe tworzone w systemie Linux, Windows lub wewnątrz kontenera platformy Docker można hostować. Przed wdrożeniem aplikacji internetowej na platformie Azure utworzysz plan usługi App Service na platformie Azure, który określa system operacyjny i warstwę cenową, co definiuje rozmiar aprowizowanych zasobów obliczeniowych wymaganych przez aplikację.

Przepływy pracy programu Maven

Program Maven ma trzy wbudowane trzy cykle życia na potrzeby kompilowania projektów: default, clean i site, przy czym cykl życia default obejmuje następujące fazy:

Faza opis
compile Kompiluje kod
package Umieszcza kod w pakiecie JAR lub WAR
install Instaluje pakiet w repozytorium lokalnym
deploy Kopiuje ostateczny pakiet do repozytorium zdalnego

Jednak w przypadku korzystania z wtyczki Maven dla usługi aplikacja systemu Azure nie będziesz używać fazy wdrażania dołączonej do cyklu życia narzędzia Mavendefault. Zamiast tego wdrożysz aplikację na platformie Azure za pomocą polecenia mvn azure-webapp:deploy.

Dodawanie wtyczki Maven dla usługi Azure App Service do projektu

Aby dodać wtyczkę Maven dla usługi aplikacja systemu Azure Service do aplikacji internetowej, należy dodać kod XML do azure-webapp-maven-plugin pliku projektupom.xml, jak pokazano poniżej:

<plugin>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>azure-webapp-maven-plugin</artifactId>
  <version>2.13.0</version>
</plugin>

Jednak wtyczka zapewnia wygodny i interaktywny sposób dodawania konfiguracji do pliku POM:

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config

Wtyczka monituje o podanie informacji wymaganych do skonfigurowania planu usługi App Service. Po potwierdzeniu wybranych opcji wtyczka dodaje poprzedni element wtyczki i ustawienia wymagań do pliku projektupom.xml, który konfiguruje aplikację internetową do uruchamiania w usłudze aplikacja systemu Azure Service.

Uwaga

Sprawdź dokumentację wtyczki Maven dla usługi Azure App Service lub centralne repozytorium programu Maven, aby uzyskać informacje o najnowszej wersji programu Maven.

Opcje konfiguracji

W poprzedniej sekcji tej lekcji przedstawiono interaktywne użycie wtyczki Maven dla usługi Azure App Service do skonfigurowania aplikacji internetowej. Nie trzeba jednak uruchamiać konfiguracji w trybie interaktywnym. Jeśli chcesz, możesz ręcznie dodać kod XML wtyczki do pliku pom.xml projektu.

Poniższy fragment z adnotacjami z pom.xml pliku demonstruje niektóre z wymaganych ustawień:

<plugin> 
  <groupId>com.microsoft.azure</groupId>  
  <artifactId>azure-webapp-maven-plugin</artifactId>  
  <version>2.13.0</version>  
  <configuration> 
    <schemaVersion>v2</schemaVersion>  
    <subscriptionId>aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e</subscriptionId>  
    <resourceGroup>learn-9c627899-58ae-4ef5-9630-3336ec7bce0c</resourceGroup>  
    <appName>MyWebApp-1610102860270</appName>  
    <pricingTier>S1</pricingTier>  
    <region>westus</region>  
    <runtime> 
      <os>Linux</os>  
      <javaVersion>Java 17</javaVersion>  
      <webContainer>Tomcat 10.0</webContainer> 
    </runtime>  
    <deployment> 
      <resources> 
        <resource> 
          <directory>${project.basedir}/target</directory>  
          <includes> 
            <include>*.war</include> 
          </includes> 
        </resource> 
      </resources> 
    </deployment> 
  </configuration> 
</plugin> 

Niektóre z odpowiednich opcji konfiguracji znajdują się w poniższej tabeli. Aby zapoznać się z pełną listą opcji, zobacz dokumentację dodatku Maven dla usługi Azure App Service.

Tag Opcje
<javaVersion> System Linux obsługuje wersje 8, 11 i 17
System Windows obsługuje wersje 8, 11 i 17
<webContainer> System Linux obsługuje programy Tomcat, JBoss EAP 7.2 i Java SE
System Windows obsługuje programy Tomcat i Java SE
<resource> Określa miejsce pliku WAR lub JAR w projekcie

Opcje wdrażania

Jeśli plan usługi App Service został już utworzony, możesz określić ustawienia dla tego planu w pliku pom.xml. Podczas wdrażania aplikacji internetowej na platformie Azure narzędzie Maven używa tych ustawień do wdrożenia nowej aplikacji w istniejącym planie usługi App Service.

<!-- Deploy Web App to the existing App Service Plan -->
<appServicePlanResourceGroup>${PLAN_RESOURCEGROUP_NAME}</appServicePlanResourceGroup>
<appServicePlanName>${PLAN_NAME}</appServicePlanName>

Innym rozwiązaniem jest umożliwienie wtyczce azure-webapp-maven-plugin utworzenia planu usługi App Service podczas interaktywnego konfigurowania instalacji wtyczki. Ta opcja to zachowanie domyślne wtyczki, jeśli w pliku pom.xml nie zostanie określony istniejący plan usługi App Service.

Niezależnie od tego, czy chcesz utworzyć plan usługi App Service interaktywnie, czy ręcznie, użyj tego samego polecenia narzędzia Maven, aby wdrożyć kod aplikacji na platformie Azure:

mvn package azure-webapp:deploy

W następnym ćwiczeniu wdrożysz aplikację internetowa w usłudze Azure App Service.