Пример развертывания приложения Java
В этом уроке вы настроите приложение Spring Boot для развертывания с помощью Maven. Затем вы развернете приложение в экземпляре Службы приложений Azure. В этом уроке показан пример клиники домашних животных.
Пример приложения
Клонируйте следующее в избранном средстве командной строки:
git clone https://github.com/spring-projects/spring-petclinic.git
Затем запустите приложение локально:
cd spring-petclinic
./mvnw package
java -jar target/*.jar
При открытии примера в браузере он должен выглядеть следующим образом:
Подготовка примера приложения к работе с облаком
В папке src вы найдете классы объектов, контроллеров и репозитория.
Так как Java является независимой от платформы, вы можете выбрать ОПЕРАЦИОННую систему, но для развертывания важна версия Java. Версию Java можно найти в файле pom.xml.
<properties>
<java.version>17</java.version>
</properties>
В этом примере используется Java 8, поэтому наш экземпляр службы приложений Azure, будь то Linux или Windows, также должен использовать Java 8. Так как платформа не имеет значения, мы будем использовать Linux для нашего примера.
Необходимо добавить некоторые зависимости Azure в файл pom.xml. При выполнении следующей команды можно автоматически добавлять зависимости.
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.11.1:config
Выходные данные этой команды запрашивают указать некоторые параметры. Эти параметры будут храниться автоматически в pom.xml.
Please choose which part to config:
* 1: Application
2: Runtime
3: DeploymentSlot
Enter your choice: 1
Define value for appName [spring-petclinic-XXXX200]:
Define value for resourceGroup [spring-petclinic-XXXX200-rg]:
Define value for region [westeurope]:
Define value for pricingTier(P1v2):
1: b1
2: b2
3: b3
4: d1
5: f1
* 6: p1v2
7: p2v2
8: p3v2
9: s1
10: s2
11: s3
Enter your choice: 1
Please confirm webapp properties
AppName : spring-petclinic-XXXX200
ResourceGroup : spring-petclinic-XXXX200-rg
Region : westeurope
PricingTier : Basic_B2
OS : Linux
RuntimeStack : JAVA 8-jre8
Deploy to slot : false
Confirm (Y/N) [Y]: y
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
Как видно, можно использовать значения по умолчанию для простого развертывания.
pom.xml-файл теперь имеет необходимый подключаемый модуль для автоматического развертывания в Azure с использованием Maven.
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>2.11.1</version>
<configuration>
<schemaVersion>V2</schemaVersion>
<subscriptionId>XXX-XXX-XXX</subscriptionId>
<resourceGroup>spring-petclinic-XXX200-rg</resourceGroup>
<appName>spring-petclinic-XXX200</appName>
<pricingTier>B2</pricingTier>
<region>westeurope</region>
<runtime>
<os>linux</os>
<javaVersion>jre8</javaVersion>
<webContainer>jre8</webContainer>
</runtime>
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
Развертывание приложения с помощью Maven
Мы уже готовы к развертыванию в Службе приложений Azure.
mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy
Эта команда выполняет тесты. Затем он автоматически запускает экземпляр Службы приложений Azure и развертывает упакованое приложение.
Поздравляю! Приложение успешно развернуто в Службе приложений Azure.