Maven을 사용하여 Spring Boot 애플리케이션 배포
참고 항목
기본, 표준 및 엔터프라이즈 계획은 2025년 3월 중순부터 사용되지 않으며 3년의 은퇴 기간이 있습니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 사용 중지 공지 사항을 참조하세요.
표준 소비 및 전용 계획은 2024년 9월 30일부터 사용되지 않으며 6개월 후에 완전히 종료됩니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 표준 사용량 및 전용 계획을 Azure Container Apps로 마이그레이션을 참조 하세요.
이 문서는 Java ❎ C에✅ 적용됩니다.#
이 문서는 기본/표준 ✅ 엔터프라이즈에✅ 적용됩니다.
이 문서에서는 Azure Spring Apps Maven 플러그 인을 사용하여 애플리케이션을 구성하고 Azure Spring Apps에 배포하는 방법을 보여 줍니다.
필수 조건
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- 이미 프로비저닝된 Azure Spring Apps 인스턴스입니다.
- JDK 8 또는 JDK 11
- Apache Maven
- Azure Spring Apps 확장이 있는 Azure CLI 버전 2.45.0 이상 다음 명령을 사용하여 확장을 설치할 수 있습니다.
az extension add --name spring
Spring 프로젝트 생성
이 문서에서 사용할 Spring 프로젝트를 만들려면 다음 단계를 따릅니다.
Spring Initializr로 이동하여 Azure Spring Apps에 대한 권장 종속성이 있는 샘플 프로젝트를 생성합니다. 이 링크는 다음 URL을 사용하여 기본 설정을 제공합니다.
https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.5.7&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=hellospring&name=hellospring&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.hellospring&dependencies=web,cloud-eureka,actuator,cloud-config-client
다음 이미지는 이 샘플 프로젝트에 권장되는 Spring Initializr 설정을 보여 줍니다.
이 예제에서는 Java 버전 8을 사용합니다. Java 버전 11을 사용하려면 프로젝트 메타데이터에서 옵션을 변경합니다.
모든 종속성이 설정된 경우 생성을 선택합니다.
패키지를 다운로드하고 압축을 푼 다음 웹 애플리케이션용 웹 컨트롤러를 만듭니다. 다음 내용이 포함된 src/main/java/com/example/hellospring/HelloController.java 파일을 추가합니다.
package com.example.hellospring; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Azure Spring Apps!"; } }
로컬에서 Spring 애플리케이션 빌드
Maven을 사용하여 프로젝트를 빌드하려면 다음 명령을 실행합니다.
cd hellospring
mvn clean package -DskipTests -Denv=cloud
프로젝트를 컴파일하는 데 몇 분이 걸립니다. 완료되면 해당 폴더에 각 서비스에 대한 개별 JAR 파일이 있어야 합니다.
Azure Spring Apps 인스턴스 프로비전
다음 절차에서는 Azure Portal을 사용하여 Azure Spring Apps의 인스턴스를 만듭니다.
새 탭에서 Azure Portal을 엽니다.
상단 검색 상자에서 Azure Spring Apps를 검색합니다.
결과에서 Azure Spring Apps를 선택합니다.
Azure Spring Apps 페이지에서 만들기를 선택합니다.
Azure Spring Apps 만들기 페이지에서 양식을 작성합니다. 다음 지침을 고려하세요.
- 구독: 이 리소스 대한 요금이 청구될 구독을 선택합니다.
- 리소스 그룹: 새 리소스에 대한 새 리소스 그룹을 만드는 것이 가장 좋습니다. 이 리소스 그룹은 이후 단계에서 <리소스 그룹 이름>으로 사용합니다.
- 서비스 세부 정보/이름: <서비스 인스턴스 이름>을 지정합니다. 이름은 4-32자 사이여야 하며, 소문자, 숫자 및 하이픈(-) 문자만 포함할 수 있습니다. 서비스 이름의 첫 글자는 문자여야 하며 마지막 문자는 문자 또는 숫자여야 합니다.
- 위치: 서비스 인스턴스에 대한 지역을 선택합니다.
검토 및 만들기를 선택합니다.
구성 생성 및 Azure Spring Apps에 배포
구성을 생성하고 앱을 배포하려면 다음 단계를 따릅니다.
POM 파일이 포함된 hellospring 루트 폴더에서 다음 명령을 실행합니다. Azure CLI를 사용하여 이미 로그인한 경우 이 명령은 자격 증명을 자동으로 선택합니다. 그렇지 않으면 명령이 로그인 지침을 묻는 메시지를 표시합니다. 자세한 내용은 GitHub의 azure-maven-plugins 리포지토리에서 인증을 참조하세요.
mvn com.microsoft.azure:azure-spring-apps-maven-plugin:1.10.0:config
다음을 선택하라는 메시지가 표시됩니다.
- 구독 ID - Azure Spring Apps 인스턴스를 만드는 데 사용한 구독입니다.
- 서비스 인스턴스 - Azure Spring Apps 인스턴스의 이름입니다.
- 앱 이름 - 선택한 앱 이름 또는 기본값
artifactId
를 사용합니다. - 공용 엔드포인트 - true는 앱을 공용 액세스에 노출합니다. 그렇지 않으면 false입니다.
POM 파일의
appName
요소에 올바른 값이 있는지 확인합니다. POM 파일의 관련 부분은 다음 예제와 유사해야 합니다.<build> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-spring-apps-maven-plugin</artifactId> <version>1.10.0</version> <configuration> <subscriptionId>xxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx</subscriptionId> <clusterName>v-spr-cld</clusterName> <appName>hellospring</appName>
이제 POM 파일에 플러그 인 종속성 및 구성이 포함됩니다.
다음 명령을 사용하여 앱을 배포합니다.
mvn azure-spring-apps:deploy
서비스 확인
배포가 완료된 후 https://<service instance name>-hellospring.azuremicroservices.io/
에서 앱에 액세스할 수 있습니다.
리소스 정리
예제 애플리케이션으로 계속 작업하려는 경우 리소스를 내부에 두는 것이 좋습니다. 더 이상 필요하지 않으면 Azure Spring Apps 인스턴스가 포함된 리소스 그룹을 삭제합니다. Azure CLI를 사용하여 리소스 그룹을 삭제하려면 다음 명령을 사용합니다.
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."