Java 앱 배포 예제
이 단원에서는 Maven을 통해 배포되도록 Spring Boot 애플리케이션을 구성합니다. 그런 다음 Azure App Service 인스턴스에 애플리케이션을 배포합니다. 이 단원에서는 동물 병원의 예를 보여 줍니다.
예제 애플리케이션
자주 사용하는 명령줄 도구에서 복제합니다.
git clone https://github.com/spring-projects/spring-petclinic.git
그런 다음 로컬로 실행합니다.
cd spring-petclinic
./mvnw package
java -jar target/*.jar
브라우저에서 예제를 열면 다음과 같습니다.
애플리케이션 예제를 클라우드에서 사용하도록 준비
src 폴더에 개체, 컨트롤러, 리포지토리 클래스가 있습니다.
Java는 플랫폼 독립적이므로 자유롭게 OS를 선택할 수 있지만 배포하려면 Java 버전이 중요합니다. pom.xml 파일에서 Java 버전을 확인할 수 있습니다.
<properties>
<java.version>17</java.version>
</properties>
예제에서는 Java 8을 사용하므로 Linux나 Windows에 상관없이 Azure App Service 인스턴스도 Java 8을 사용해야 합니다. 플랫폼은 중요하지 않으므로 이 예제에서는 Linux를 사용하겠습니다.
pom.xml 파일에 일부 Azure 종속성을 추가해야 합니다. 다음 명령을 실행하면 종속성을 자동으로 추가할 수 있습니다.
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 파일로 자동 Maven 기반 배포용 필수 플러그 인이 Azure에 추가되었습니다.
<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 App Service 배포를 준비했습니다.
mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy
이 명령은 테스트를 실행합니다. 그런 다음 Azure App Service 인스턴스를 자동으로 실행하고 패키지한 애플리케이션을 배포합니다.
축하합니다! Azure App Service에 앱을 배포했습니다.