Bereitstellen Ihrer Web-App in Azure App Service

Abgeschlossen

Das Plug-In azure-webapp-maven-plugin hat zwei Zielsetzungen für Java-Entwickler: Das erste ist es, die Verwaltung und das Konfigurieren des Azure App Service-Plug-Ins zu vereinfachen. Das zweite ist es, die Bereitstellung von Maven-Projekten für Azure App Service zu erleichtern. In der vorherigen Übung haben Sie eine kleine „Hallo Welt“-Beispiel-Web-App in Java erstellt und sie lokal getestet. Wenn Sie das Maven-Plug-In für Azure App Service Ihrem Projekt hinzufügen, können Sie Ihre App für Azure App Service bereitstellen.

In dieser Lektion sehen Sie sich die Optionen an, mit denen Ihr Unternehmen seine Apps im Azure App Service hosten kann. Anschließend erfahren Sie, wie Sie das azure-webapp-maven-plugin Ihrem Maven-Projekt hinzufügen und konfigurieren können.

Einführung in Azure App Service

Azure App Service ermöglicht es Ihnen, die Websites, Web-Apps, REST-APIs und anderen Anwendungscode bei Azure zu hosten. Ihr Projektcode wird in der Cloud ausgeführt. Sie müssen keine Infrastruktur bereitstellen oder konfigurieren. Wenn Sie Ihre Web-App in Azure App Service ausführen, stehen Ihnen alle Vorteile zur Verfügung, die bei einer Ausführung bei Azure entstehen: Ihre App ist global verfügbar, sie skaliert automatisch, sie verfügt über integrierte Sicherheit und Konformität, und Sie bezahlen nur für die Ressourcen, die Sie verwenden.

Azure App Service unterstützt mehrere Programmiersprachen. Fachkräfte in der Entwicklung können so weiterhin die Sprachen zum Schreiben von Anwendungen verwenden, mit denen sie am vertrautesten sind. Java ist dabei ein First-Class-Objekt, ebenso wie andere Programmiersprachen wie .NET Core, Python oder Node.js. Sie können die von Ihnen erstellten Web-Apps unter Linux, Windows oder in einem Docker-Container hosten. Bevor Sie Ihre Web-App bei Azure bereitstellen, erstellen Sie einen App Service-Plan bei Azure, der das Betriebssystem und den Tarif angibt, der die Größe der bereitgestellten Computeressourcen bestimmt, die für die App erforderlich sind.

Maven-Workflows

In Maven stehen drei integrierte Lebenszyklen für das Erstellen von Projekten zur Verfügung: default, clean und site. Der default-Lebenszyklus umfasst die folgenden Phasen:

Phase Beschreibung
compile Kompilieren Ihres Codes
package Erstellen eines Pakets in einer JAR- oder WAR-Datei für Ihren Code
install Installieren des Pakets in Ihrem lokalen Repository
deploy Kopieren des endgültigen Pakets in Ihr Remoterepository

Wenn Sie allerdings das Maven-Plug-In für Azure App Service verwenden, verwenden Sie nicht die Bereitstellungsphase, die im default-Lebenszyklus von Maven enthalten ist. Stattdessen stellen Sie Ihre App bei Azure mithilfe des mvn azure-webapp:deploy-Befehls bereit.

Hinzufügen des Maven-Plug-Ins für Azure App Service zu Ihrem Projekt

Um das Maven-Plug-In für Azure App Service Ihrer Web-App hinzuzufügen, fügen Sie das XML für azure-webapp-maven-plugin wie folgt zur pom.xml-Datei Ihres Projekts hinzu:

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

Das Plug-In bietet jedoch eine bequeme und interaktive Möglichkeit, Ihrer POM-Datei Konfigurationen hinzuzufügen:

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

Das Plug-In fordert Sie zur Eingabe der Informationen auf, die zum Konfigurieren des App Service-Plans erforderlich sind. Nachdem Sie Ihre Auswahl bestätigt haben, fügt das Plug-In das vorstehende Plug-In-Element und die erforderlichen Einstellungen der pom.xml-Datei Ihres Projekts hinzu, die Ihre Web-App so konfiguriert, dass sie in Azure App Service ausgeführt wird.

Hinweis

In der Dokumentation zum Maven-Plug-In für Azure App Service oder im zentralen Maven-Repository finden Sie weitere Informationen zur aktuellen Version des Maven-Plug-Ins.

Konfigurationsoptionen

Im vorherigen Abschnitt dieser Lerneinheit wurde gezeigt, wie das Maven-Plug-In für Azure App Service verwendet wird, um Ihre Web-App interaktiv zu konfigurieren. Sie müssen die Konfiguration jedoch nicht interaktiv ausführen. Wenn Sie möchten, können Sie die XML-Datei des Plug-Ins der pom.xml-Datei Ihres Projekts manuell hinzufügen.

Der folgende kommentierte Auszug aus einer pom.xml-Datei zeigt einige der erforderlichen Einstellungen:

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

Einige der relevanten Konfigurationsoptionen finden Sie in der folgenden Tabelle. Eine vollständige Liste der Optionen finden Sie in der Dokumentation zum Maven-Plug-In für Azure App Service.

Tag Optionen
<javaVersion> Linux unterstützt die Versionen 8, 11 und 17
Windows unterstützt die Versionen 8, 11 und 17
<webContainer> Linux unterstützt Tomcat, JBoss EAP 7.2 und Java SE
Windows unterstützt Tomcat und Java SE
<resource> Gibt an, wo sich die WAR- oder JAR-Datei im Projekt befindet

Bereitstellungsoptionen

Wenn Sie bereits einen App Service-Plan erstellt haben, können Sie die Einstellungen für den Plan in Ihrer pom.xml-Datei angeben. Wenn Sie Ihre Web-App in Azure bereitstellen, verwendet Maven diese Einstellungen, um Ihre neue App im vorhandenen App Service-Plan bereitzustellen.

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

Eine weitere Option ist, azure-webapp-maven-plugin zu ermöglichen, den App Service-Plan für Sie zu erstellen, wenn Sie die Plug-In-Einrichtung interaktiv konfigurieren. Diese Option ist das Standardverhalten des Plug-Ins, wenn Sie in Ihrer pom.xml-Datei keinen vorhandenen App Service-Plan angeben.

Unabhängig davon, ob Sie den App-Service-Plan interaktiv oder manuell erstellen, verwenden Sie denselben Maven-Befehl, um Ihren Anwendungscode in Azure bereitzustellen:

mvn package azure-webapp:deploy

In der nächsten Übung stellen Sie Ihre Web-App in Azure App Service bereit.