azure-maven-plugins/azure-webapp-maven-plugin
Hanxiao Liu ef2f72cbab Add resource configuration in pom build to add ai key to final jar 2021-12-28 17:03:39 +08:00
..
src Read plugin version from plugin descriptor during webapp config goal 2021-12-28 13:36:20 +08:00
CHANGELOG.md Add change log and update readme version 2021-09-23 14:16:56 +08:00
README.md Update README.md 2021-11-18 00:11:44 +04:00
pom.xml Add resource configuration in pom build to add ai key to final jar 2021-12-28 17:03:39 +08:00

README.md

Maven Plugin for Azure App Service

Overview

Maven Central

The Maven Plugin for Azure App Service helps Java developers to deploy Maven projects to Azure App Service.

Documentation

Please go through Quickstart to create your first Java app on Azure App Service, there are more Java documents for Azure App Service.

📖 You can also visit our Wiki for detailed documentation about Maven Webapp plugin.

Authentication

For the easiest way, you can install Azure Cli, and sign-in using:

az login

Mavan plugins supports Azure Cli and some other auth methods, see Authentication for details.

Quickstart

You can prepare your application for Azure Web App easily with one command:

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

This command adds a azure-webapp-maven-plugin plugin and related configuration by prompting you to select an existing Azure Web App or create a new one. Then you can deploy your Java app to Azure using the following command:

mvn package azure-webapp:deploy

Configuration

Here is a typical configuration for Azure Web App Maven Plugin:

<plugin> 
  <groupId>com.microsoft.azure</groupId>  
  <artifactId>azure-webapp-maven-plugin</artifactId>  
  <version>2.2.0</version>  
  <configuration>
    <subscriptionId>111111-11111-11111-1111111</subscriptionId>
    <resourceGroup>spring-boot-xxxxxxxxxx-rg</resourceGroup>
    <appName>spring-boot-xxxxxxxxxx</appName>
    <pricingTier>B2</pricingTier>
    <region>westus</region>
    <runtime>
      <os>Linux</os>      
      <webContainer>Java SE</webContainer>
      <javaVersion>Java 11</javaVersion>
    </runtime>
    <deployment>
      <resources>
        <resource>
          <type>jar</type>
          <directory>${project.basedir}/target</directory>
          <includes>
            <include>*.jar</include>
          </includes>
        </resource>
      </resources>
    </deployment>
  </configuration>
</plugin> 
Property Required Description
<schemaVersion> false Specify the version of the configuration schema. The recommended value is v2
<subscriptionId> false Specifies the target subscription.
Use this setting when you have multiple subscriptions in your authentication file.
<resourceGroup> true Azure Resource Group for your Web App.
<appName> true The name of your Web App.
<pricingTier> false The pricing tier for your Web App. The default value is P1V2(P1v3 for JBoss).
<region> false Specifies the region where your Web App will be hosted; the default value is centralus(or the first region if centralus is not available in your subscription). All valid regions at Supported Regions section.
<os> false Specifies the os, supported values are Linux, Windows and Docker. The default value is linux
<webContainer> false Specifies the runtime stack, values for Linux are: Tomcat 8.5, Tomcat 9.0, Java SE, JBossEAP 7, The default value would be Tomcat 8.5 or Java SE or JBossEAP 7 according to your project type
<javaVersion> false Specifies the java version, values are: Java 8 or Java 11. The default value is your project compiler level
<deployment> false Specifies the target file to be deployed. If it is not specified, a default webapp is created without any deployments.

Feedback and Questions

To report bugs or request new features, file issues on Issues. Or, ask questions on Stack Overflow with tag azure-java-tools.

Data and Telemetry

This project collects usage data and sends it to Microsoft to help improve our products and services. Read Microsoft's privacy statement to learn more. If you would like to opt out of sending telemetry data to Microsoft, you can set allowTelemetry to false in the plugin configuration. Please read our documents to find more details.