다음을 통해 공유


빠른 시작: Azure App Service에서 Java 앱 만들기

Azure App Service 는 확장성이 뛰어난 자체 패치 웹앱 호스팅 서비스를 제공합니다. 이 빠른 시작에서는 Azure App Service Web Apps용 Maven 플러그 인을 사용하여 Azure App Service 의 Linux Tomcat 서버에 Java 웹 애플리케이션을 배포합니다.

Maven이 선호하는 개발 도구가 아닌 경우 Java 개발자를 위한 유사한 문서를 확인하세요.

필수 조건

  • Azure 계정이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

  • 브라우저를 통해 Azure 서비스를 사용하는 데 사용할 수 있는 대화형 셸인 Azure Cloud Shell을 사용하여 이 빠른 시작에서 명령을 실행합니다. Cloud Shell을 사용하려면 다음을 수행합니다.

    1. 다음 Cloud Shell 시작 단추를 선택하거나 https://shell.azure.com로 이동하여 브라우저에서 Cloud Shell을 엽니다.

    2. 필요한 경우 Azure에 로그인하고 Cloud Shell의 Bash 환경에 있는지 확인합니다.

    3. 코드 블록에서 복사 를 선택하고, 코드를 Cloud Shell에 붙여넣고, 실행합니다.

Java 앱 만들기

Cloud Shell에서 다음 Maven 명령을 실행하여 다음과 같은 새 앱을 만듭니다 helloworld.

mvn archetype:generate "-DgroupId=example.demo" "-DartifactId=helloworld" "-DarchetypeArtifactId=maven-archetype-webapp" "-DarchetypeVersion=1.4" "-Dversion=1.0-SNAPSHOT"

그런 다음 실행하여 작업 디렉터리를 프로젝트 폴더로 cd helloworld변경합니다.

Maven 플러그 인 구성

App Service 배포 프로세스는 Cloud Shell의 Azure 자격 증명을 자동으로 사용합니다. Maven 플러그 인은 OAuth 또는 디바이스 로그인을 사용하여 인증합니다. 자세한 내용은 인증참조하세요.

다음 Maven 명령을 실행하여 App Service 운영 체제, Java 버전 및 Tomcat 버전을 설정하여 배포를 구성합니다.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. 새 실행 구성 만들기의 경우 Y를 입력한 다음 Enter 키를 누릅니.
  2. OS 값 정의를 위해 Linux에 대해 2를 입력하고 Enter 키를 누르십시오.
  3. javaVersion 값 정의의 경우 Java 21에 대해 1을 입력한 다음 Enter 키를 누릅니다.
  4. webContainer의 값을 정의하려면 Tomcat 10.1에 대해 1을 입력하고, Enter 키를 누르십시오.
  5. pricingTier의 값을 정의하기 위해 P1V2에 대해 3을 입력한 후, Enter 키를 누릅니다.
  6. 확인을 위해 Y를 입력한 다음 Enter 키를 누릅니.

출력은 다음 코드와 유사해야 합니다.

Please confirm webapp properties
AppName : helloworld-1745408005556
ResourceGroup : helloworld-1745408005556-rg
Region : centralus
PricingTier : P1V2
OS : Linux
Java Version: Java 21
Web server stack: Tomcat 10.1
Deploy to slot : false
Confirm (Y/N) [Y]: 
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:36 min
[INFO] Finished at: 2025-04-23T11:34:44Z
[INFO] ------------------------------------------------------------------------

선택 사항을 확인한 후 플러그 인은 플러그 인 요소와 필요한 설정을 프로젝트의 pom.xml 파일에 추가합니다. 그러면 App Service에서 실행되도록 웹앱이 구성됩니다.

pom.xml 파일의 관련 부분은 다음 예제와 유사해야 합니다.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>helloworld-1745408005556-rg</resourceGroup>
                <appName>helloworld-1745408005556</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>

데모 앱에 대한 <appName><resourceGroup>, helloworld-1745408005556helloworld-1745408005556-rg 값은 나중에 사용됩니다.

pom.xml 파일에서 직접 App Service에 대한 구성을 수정할 수 있습니다.

앱 배포하기

모든 구성이 pom.xml 파일에서 준비되면 다음 단일 명령을 사용하여 Azure에 Java 앱을 배포할 수 있습니다.

mvn package azure-webapp:deploy

사용 가능한 구독 목록에서 선택하면 Maven이 Azure App Service에 배포됩니다. 배포가 완료되면 애플리케이션이 준비됩니다.

이 데모의 경우 URL은 .입니다 http://helloworld-1745408005556.azurewebsites.net. 로컬 웹 브라우저를 사용하여 URL을 열면 다음 앱이 표시됩니다.

Azure App Service에서 실행되는 Maven Hello World 웹앱의 스크린샷.

축하합니다! App Service에 Java 앱을 배포했습니다.

자원을 정리하세요

Azure 리소스 그룹에서 이 자습서의 리소스를 만들었습니다. 더 이상 필요하지 않은 경우 Cloud Shell에서 다음 Azure CLI 명령을 실행하여 리소스 그룹 및 모든 리소스를 삭제할 수 있습니다.

az group delete --name helloworld-1745408005556-rg --yes

명령을 실행하는 데 시간이 걸릴 수 있습니다.

Azure App Service 는 확장성이 뛰어난 자체 패치 웹앱 호스팅 서비스를 제공합니다. 이 빠른 시작에서는 Azure App Service Web Apps용 Maven 플러그 인 을 사용하여 Spring Boot, Quarkus 또는 Tomcat 서버가 포함된 Java 웹 애플리케이션을 App Service에 배포합니다. 자세한 내용은 azure-webapp-maven-plugin을 참조하세요.

Maven이 선호하는 개발 도구가 아닌 경우 Java 개발자를 위한 유사한 문서를 확인하세요.

필수 조건

  • Azure 계정이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

  • 브라우저를 통해 Azure 서비스를 사용하는 데 사용할 수 있는 대화형 셸인 Azure Cloud Shell을 사용하여 이 빠른 시작에서 명령을 실행합니다. Cloud Shell을 사용하려면 다음을 수행합니다.

    1. 다음 Cloud Shell 시작 단추를 선택하거나 https://shell.azure.com로 이동하여 브라우저에서 Cloud Shell을 엽니다.

    2. 필요한 경우 Azure에 로그인하고 Cloud Shell의 Bash 환경에 있는지 확인합니다.

    3. 코드 블록에서 복사 를 선택하고, 코드를 Cloud Shell에 붙여넣고, 실행합니다.

샘플 앱 가져오기

적절한 탭을 선택하고 지침에 따라 샘플 Spring Boot, Quarkus 또는 Embedded Tomcat 웹앱을 가져옵니다.

기본 Spring Boot 웹 애플리케이션 템플릿을 다운로드하여 추출하거나 다음 명령을 실행하여 복제합니다. Spring CLI 명령을 spring boot new my-webapp 실행하면 웹앱도 복제합니다.

git clone https://github.com/rd-1-2022/rest-service my-webapp

그런 다음 실행하여 작업 디렉터리를 프로젝트 폴더로 cd my-webapp변경합니다.

Maven 플러그 인 구성

App Service 배포 프로세스는 Cloud Shell의 Azure 자격 증명을 자동으로 사용합니다. Maven 플러그 인은 OAuth 또는 디바이스 로그인을 사용하여 인증합니다. 자세한 내용은 인증참조하세요.

다음 Maven 명령을 실행하여 App Service 운영 체제 및 Java 버전을 설정하여 배포를 구성합니다.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. 새 실행 구성 만들기의 경우 Y를 입력한 다음 Enter 키를 누릅니.
  2. OS 값 정의를 위해 Linux에 대해 2를 입력하고 Enter 키를 누르십시오.
  3. javaVersion 값 정의의 경우 Java 21에 대해 1을 입력한 다음 Enter 키를 누릅니다.
  4. pricingTier 값 설정에서 P1v2에 대해 3을 입력하고Enter 키를 누릅니다.
  5. 확인을 위해 Y를 입력한 다음 Enter 키를 누릅니.

출력은 다음 코드와 유사해야 합니다.

Please confirm webapp properties
AppName : <generated-app-name>
ResourceGroup : <generated-app-name>-rg
Region : centralus
PricingTier : P1v2
OS : Linux
Java Version: Java 21
Web server stack: Java SE
Deploy to slot : false
Confirm (Y/N) [Y]: 
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  47.533 s
[INFO] Finished at: 2025-04-23T12:20:08Z
[INFO] ------------------------------------------------------------------------

선택 사항을 확인한 후 플러그 인은 플러그 인 요소와 필요한 설정을 프로젝트의 pom.xml 파일에 추가합니다. 그러면 App Service에서 실행되도록 웹앱이 구성됩니다.

pom.xml 파일의 관련 부분은 다음 예제와 유사해야 합니다.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>generated-app-name-rg</resourceGroup>
                <appName>generated-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>

<appName><resourceGroup> 값은 나중에 사용됩니다.

pom.xml 파일에서 직접 App Service에 대한 구성을 수정할 수 있습니다.

앱 배포하기

pom.xml 파일에서 모든 구성을 준비하면 Java 앱을 Azure에 배포할 수 있습니다.

  1. 다음 명령을 사용하여 JAR 파일을 빌드합니다.

     mvn clean package
    

    Spring Boot는 두 개의 JAR 파일을 mvn package생성하지만 azure-webapp-maven-plugin , 자동으로 배포할 올바른 JAR 파일을 선택합니다.

  2. 다음 명령을 사용하여 Azure에 앱을 배포합니다.

    mvn azure-webapp:deploy
    

    사용 가능한 구독 목록에서 선택하면 Maven이 Azure App Service에 배포됩니다. 배포가 완료되면 애플리케이션이 준비되고 다음과 같은 출력이 표시됩니다.

    [INFO] Successfully deployed the artifact to <URL>
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:20 min
    [INFO] Finished at: 2023-07-26T12:47:50Z
    [INFO] ------------------------------------------------------------------------
    
  3. Azure Portal의 개요 페이지에서 앱의 기본 도메인을 열고 URL에 추가 /greeting 합니다. 다음 앱이 표시됩니다.

    Azure App Service에서 실행되는 Spring Boot Hello World 웹앱의 스크린샷.

축하합니다! App Service에 Java 앱을 배포했습니다.

자원을 정리하세요

Azure 리소스 그룹에서 이 자습서의 리소스를 만들었습니다. 더 이상 필요하지 않은 경우 Cloud Shell에서 다음 Azure CLI 명령을 실행하여 리소스 그룹 및 모든 리소스를 삭제할 수 있습니다.

az group delete --name <resource group name>  --yes

예를 들어 az group delete --name quarkus-hello-azure-1690375364238-rg --yes를 실행합니다. 이 명령을 실행하는 데 시간이 걸릴 수 있습니다.

Azure App Service 는 확장성이 뛰어난 자체 패치 웹앱 호스팅 서비스를 제공합니다. 이 빠른 시작에서는 Azure App Service Web Apps용 Maven 플러그 인을 사용하여 Azure App Service 의 Linux JBoss EAP 서버에 Java 웹 애플리케이션을 배포합니다.

비고

App Service의 JBoss EAP는 이제 BYOL("Bring Your Own License") 청구를 지원합니다. 이렇게 하면 기존 Red Hat 구독을 사용하는 고객이 Azure App Service의 JBoss EAP 배포에 직접 해당 라이선스를 적용할 수 있습니다. 자세히알아보세요.

Maven이 선호하는 개발 도구가 아닌 경우 Java 개발자를 위한 유사한 문서를 확인하세요.

필수 조건

  • Azure 계정이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

  • 브라우저를 통해 Azure 서비스를 사용하는 데 사용할 수 있는 대화형 셸인 Azure Cloud Shell을 사용하여 이 빠른 시작에서 명령을 실행합니다. Cloud Shell을 사용하려면 다음을 수행합니다.

    1. 다음 Cloud Shell 시작 단추를 선택하거나 https://shell.azure.com로 이동하여 브라우저에서 Cloud Shell을 엽니다.

    2. 필요한 경우 Azure에 로그인하고 Cloud Shell의 Bash 환경에 있는지 확인합니다.

    3. 코드 블록에서 복사 를 선택하고, 코드를 Cloud Shell에 붙여넣고, 실행합니다.

Java 앱 만들기

  1. 애완 동물 스토어 데모 애플리케이션을 복제합니다.

    git clone https://github.com/Azure-Samples/app-service-java-quickstart
    
  2. 디렉터리를 완료된 petstore-ee7 프로젝트로 변경하고 빌드합니다.

    cd app-service-java-quickstart
    git checkout 20230308
    cd petstore-ee7
    mvn clean install
    

    분리된 HEAD 상태에 있는 것에 대한 메시지가 표시되면 무시할 수 있습니다. 이 빠른 시작에서는 Git 커밋을 수행하지 않으므로 분리된 HEAD 상태가 적절합니다.

    샘플에는 petstore-ee7 Java 11 이상이 필요합니다. 샘플 프로젝트에는 booty-duke-app-service Java 17이 필요합니다. 설치된 Java 버전이 17 미만인 경우 최상위 수준이 아닌 petstore-ee7 디렉터리 내에서 빌드를 실행합니다.

Maven 플러그 인 구성

App Service 배포 프로세스는 Cloud Shell의 Azure 자격 증명을 자동으로 사용합니다. Maven 플러그 인은 OAuth 또는 디바이스 로그인을 사용하여 인증합니다. 자세한 내용은 인증참조하세요.

다음 Maven 명령을 실행하여 App Service 운영 체제, Java 버전 및 Jbosseap 버전을 설정하여 배포를 구성합니다.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. 새 실행 구성 만들기의 경우 Y를 입력한 다음 Enter 키를 누릅니.
  2. OS 값 정의를 위해 Linux에 대해 2를 입력하고 Enter 키를 누르십시오.
  3. javaVersion 값 정의의 경우 Java 17에 대해 2를 입력한 다음 Enter 키를 누릅니다. Java 21을 선택하면 나중에 Jbosseap 이 옵션으로 표시되지 않습니다.
  4. webContainer 값 정의를 위해, Jbosseap 7에서는 4를 입력한 다음 Enter 키를 누릅니다.
  5. pricingTier 값 정의의 경우 P1v3에 1을 입력한 다음 Enter 키를 누릅니다.
  6. 확인을 위해 Y를 입력한 다음 Enter 키를 누릅니.

출력은 다음 코드와 유사해야 합니다.

Please confirm webapp properties
AppName : petstoreee7-1745409173307
ResourceGroup : petstoreee7-1745409173307-rg
Region : centralus
PricingTier : P1v3
OS : Linux
Java Version: Java 17
Web server stack: Jbosseap 4
Deploy to slot : false
Confirm (Y/N) [Y]: 
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:36 min
[INFO] Finished at: 2025-04-23T11:54:22Z
[INFO] ------------------------------------------------------------------------

선택 사항을 확인한 후 플러그 인은 플러그 인 요소와 필요한 설정을 프로젝트의 pom.xml 파일에 추가합니다. 그러면 App Service에서 실행되도록 웹앱이 구성됩니다.

pom.xml 파일의 관련 부분은 다음 예제와 유사해야 합니다.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>petstoreee7-1745409173307-rg</resourceGroup>
                <appName>petstoreee7-1745409173307</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>

데모 앱에서 <appName><resourceGroup>, petstoreee7-1745409173307petstoreee7-1745409173307-rg 값은 나중에 사용됩니다.

pom.xml 파일에서 직접 App Service에 대한 구성을 수정할 수 있습니다.

앱 배포하기

pom.xml 파일에 모든 구성이 준비되면 다음 단일 명령을 사용하여 Java 앱을 Azure에 배포할 수 있습니다.

# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests

사용 가능한 구독 목록에서 선택하면 Maven이 Azure App Service에 배포됩니다. 배포가 완료되면 애플리케이션이 준비됩니다.

이 데모 앱의 경우 URL은 .입니다 http://petstoreee7-1745409173307.azurewebsites.net. 로컬 웹 브라우저를 사용하여 URL을 열면 다음 앱이 표시됩니다.

Azure App Service에서 실행되는 Maven Hello World 웹앱의 스크린샷.

축하합니다! App Service에 Java 앱을 배포했습니다.

자원을 정리하세요

Azure 리소스 그룹에서 이 자습서의 리소스를 만들었습니다. 더 이상 필요하지 않은 경우 Cloud Shell에서 다음 Azure CLI 명령을 실행하여 리소스 그룹 및 모든 리소스를 삭제할 수 있습니다.

az group delete --name petstoreee7-1745409173307-rg  --yes

명령을 실행하는 데 시간이 걸릴 수 있습니다.