빠른 시작: Azure Container Apps에서 첫 번째 Java 애플리케이션 시작
이 문서에서는 Azure Container Apps에서 실행하기 위해 Spring PetClinic 샘플 애플리케이션을 배포하는 방법을 보여 줍니다. Dockerfile을 수동으로 만들고 컨테이너 레지스트리를 직접 사용하는 대신 JAR(Java Archive) 파일 또는 WAR(웹 애플리케이션 보관) 파일에서 직접 Java 애플리케이션을 배포할 수 있습니다.
이 자습서가 끝나면 Azure Portal을 통해 관리할 수 있는 웹 애플리케이션을 배포하게 됩니다.
다음 이미지는 Azure에 배포된 후 애플리케이션이 어떻게 보이는지 보여 주는 스크린샷.
필수 조건
요구 사항 | 지침 |
---|---|
Azure 계정 | 계정이 없으면 무료 계정을 만듭니다. 계속 진행하려면 Azure 구독에 대한 기여자 또는 소유자 권한이 필요합니다. 자세한 내용은 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요. |
GitHub 계정 | 평가판을 가져올 수 있습니다. |
git | git 설치 |
Azure CLI | Azure CLI를 설치합니다. |
Container Apps CLI 확장 | 버전 0.3.47 이상을 사용합니다. az extension add --name containerapp --upgrade --allow-preview 명령을 사용하여 최신 버전을 설치하세요. |
Java | Java 개발 키트를 설치합니다. 버전 17 이상을 사용합니다. |
Maven | Maven을 설치합니다. |
프로젝트 준비
Spring PetClinic 샘플 애플리케이션을 컴퓨터에 복제합니다.
git clone https://github.com/spring-projects/spring-petclinic.git
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
프로젝트 빌드
spring-petclinic 폴더로 변경합니다.
cd spring-petclinic
Maven 빌드 영역을 정리하고, 프로젝트 코드를 컴파일하고, JAR 파일을 만드는 동시에 모든 테스트를 건너뜁니다.
mvn clean package -DskipTests
빌드 명령을 실행하면 petclinic.jar이라는 파일이 /target 폴더에 생성됩니다.
참고 항목
필요한 경우 Java 빌드 환경 변수에서 Tomcat 버전을 지정할 수 있습니다.
spring-framework-petclinic 폴더로 변경합니다.
cd spring-framework-petclinic
Maven 빌드 영역을 정리하고, 프로젝트 코드를 컴파일하고, WAR 파일을 만드는 동시에 모든 테스트를 건너뜁니다.
mvn clean package -DskipTests
빌드 명령을 실행하면 petclinic.war이라는 파일이 /target 폴더에 생성됩니다.
프로젝트 배포
Azure Container Apps에 JAR 패키지를 배포합니다.
참고 항목
필요한 경우 Java 빌드 환경 변수에서 JDK 버전을 지정할 수 있습니다.
이제 az containerapp up
CLI 명령을 사용하여 WAR 파일을 배포할 수 있습니다.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION_ID>\
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
참고 항목
기본 JDK 버전은 17입니다. 애플리케이션과의 호환성을 위해 JDK 버전을 변경해야 하는 경우 --build-env-vars BP_JVM_VERSION=<YOUR_JDK_VERSION>
인수를 사용하여 버전 번호를 조정할 수 있습니다.
Java 빌드 환경 변수에서 더 적용 가능한 빌드 환경 변수를 찾을 수 있습니다.
Azure Container Apps에 WAR 패키지를 배포합니다.
이제 az containerapp up
CLI 명령을 사용하여 WAR 파일을 배포할 수 있습니다.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION>\
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <WAR_FILE_PATH_AND_NAME> \
--build-env-vars BP_TOMCAT_VERSION=10.* \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
참고 항목
기본 Tomcat 버전은 9입니다. 애플리케이션과의 호환성을 위해 Tomcat 버전을 변경해야 하는 경우 --build-env-vars BP_TOMCAT_VERSION=<YOUR_TOMCAT_VERSION>
인수를 사용하여 버전 번호를 조정할 수 있습니다.
이 예에서 Tomcat 버전은 BP_TOMCAT_VERSION=10.*
환경 변수를 설정하여 10
(모든 부 버전 포함)로 설정됩니다.
Java 빌드 환경 변수에서 더 적용 가능한 빌드 환경 변수를 찾을 수 있습니다.
앱 상태 확인
이 예에서 containerapp up
명령에는 앱의 URL이라고도 알려진 FQDN(정규화된 도메인 이름)을 반환하는 --query properties.configuration.ingress.fqdn
인수가 포함되어 있습니다.
이 URL을 브라우저에 붙여넣어 애플리케이션을 봅니다. 앱은 다음 스크린샷과 유사해야 합니다.