다음을 통해 공유


빠른 시작: WAR 또는 JAR 파일을 사용하여 Azure Container Apps에서 첫 번째 Java 애플리케이션 시작

이 문서에서는 WAR(웹 애플리케이션 보관) 파일 또는 JAR(Java Archive) 파일을 사용하여 Spring PetClinic 샘플 애플리케이션을 Azure Container Apps에 배포하는 방법을 보여 줍니다.

다음 옵션을 포함하여 Java 애플리케이션을 배포하는 데 사용할 수 있는 몇 가지 옵션이 있습니다.

  • 로컬 파일 시스템 또는 코드 리포지토리에서 배포합니다.
  • Maven 또는 IDE를 사용하여 배포합니다.
  • WAR 파일, JAR 파일을 사용하거나 소스 코드에서 직접 배포합니다.

이 자습서를 마치면 Azure Portal을 통해 관리할 수 있는 웹 애플리케이션을 배포합니다. 다음 스크린샷은 Azure Container Apps에 배포된 PetClinic 애플리케이션의 홈페이지를 보여줍니다.

PetClinic 앱의 홈페이지 스크린샷

필수 조건

프로젝트 빌드

다음 단계를 사용하여 프로젝트를 빌드합니다.

  1. 다음 명령을 사용하여 Azure Container Apps Java 샘플 리포지토리를 복제합니다.

    git clone https://github.com/Azure-Samples/azure-container-apps-java-samples.git
    
  1. 다음 명령을 사용하여 Spring PetClinic 샘플 애플리케이션 리포지토리를 복제합니다.

    git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
    
  1. 다음 명령을 사용하여 spring-petclinic 폴더로 이동합니다.

    cd azure-container-apps-java-samples/spring-petclinic/spring-petclinic/
    
  2. 다음 명령을 사용하여 Spring PetClinic 샘플 애플리케이션 리포지토리를 초기화하고 최신 버전으로 업데이트합니다.

    git submodule update --init --recursive
    
  3. 다음 명령을 사용하여 Maven 빌드 영역을 정리하고, 프로젝트의 코드를 컴파일하고, JAR 파일을 만들고, 이러한 프로세스 중에 모든 테스트를 건너뜁니다.

    mvn clean verify
    

이제 /target/petclinic.jar 파일이 있습니다.

  1. 다음 명령을 사용하여 spring-framework-petclinic 폴더로 이동합니다.

    cd spring-framework-petclinic
    
  2. 다음 명령을 사용하여 Maven 빌드 영역을 정리하고, 프로젝트의 코드를 컴파일하고, JAR 파일을 만들고, 이러한 프로세스 중에 모든 테스트를 건너뜁니다.

    mvn clean verify
    

이제 /target/petclinic.war 파일이 있습니다.

프로젝트 배포

다음 명령을 사용하여 AZURE Container Apps에 JAR 패키지를 배포합니다.

참고 항목

기본 JDK 버전은 17입니다. 환경 변수를 사용하여 버전을 지정하는 옵션이 있습니다. 애플리케이션과의 호환성을 위해 JDK 버전을 변경하려면 인수를 --build-env-vars BP_JVM_VERSION=<your-JDK-version> 사용합니다. 자세한 내용은 Azure Container Apps(미리 보기)에서 Java용 빌드 환경 변수를 참조하세요.

az containerapp up \
    --resource-group <resource-group> \
    --name <container-app-name> \
    --subscription <subscription-ID>\
    --location <location> \
    --environment <environment-name> \
    --artifact <JAR-file-path-and-name> \
    --ingress external \
    --target-port 8080 \
    --query properties.configuration.ingress.fqdn

다음 명령을 사용하여 AZURE Container Apps에 WAR 파일을 배포합니다.

참고 항목

기본 Tomcat 버전은 9입니다. 애플리케이션과의 호환성을 위해 버전을 변경하려면 인수를 --build-env-vars BP_TOMCAT_VERSION=<your-Tomcat-version> 사용합니다. 이 예제에서 Tomcat 버전은 부 버전을 포함하여 10으로 설정됩니다 BP_TOMCAT_VERSION=10.*. 자세한 내용은 Azure Container Apps(미리 보기)에서 Java용 빌드 환경 변수를 참조하세요.

az containerapp up \
    --resource-group <resource-group> \
    --name <container-app-name> \
    --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

앱 상태 확인

이 예에서 containerapp up 명령에는 앱의 URL이라고도 알려진 FQDN(정규화된 도메인 이름)을 반환하는 --query properties.configuration.ingress.fqdn 인수가 포함되어 있습니다.

이 URL을 브라우저에 붙여넣어 애플리케이션을 봅니다.

자원을 정리하세요

더 빠른 시작 및 자습서를 계속 사용하려는 경우 이러한 리소스를 그대로 두는 것이 좋습니다. 리소스가 더 이상 필요하지 않은 경우 다음 명령을 사용하여 Azure 요금을 방지하기 위해 리소스를 제거할 수 있습니다.

az group delete --name <resource-group>