연습 - Azure App Service에 웹앱 배포

완료됨

이전 단원에서는 Azure App Service용 Maven 플러그 인을 통해 Java 개발자가 웹앱의 빌드 및 Azure 배포를 쉽게 자동화할 수 있는 방법을 알아보았습니다. 웹앱을 로컬로 테스트한 후 다음 단계는 Azure App Service에 배포하는 것입니다.

이 연습에서는 프로젝트에 플러그 인을 추가하고 azure-webapp-maven-plugin Azure App Service에 앱을 배포하기 위한 필수 설정을 구성합니다. Azure에 웹앱을 성공적으로 배포한 후에는 Azure App Service에서 실행되는 웹앱을 테스트합니다.

azure-webapp-maven-plugin 프로젝트에 플러그 인 추가

  1. azure-webapp-maven-plugin Maven pom.xml 파일에 플러그 인 및 구성 설정을 대화형으로 추가하려면 다음을 사용합니다.

    cd ~/MyWebApp
    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
    

    각 대화형 프롬프트에 대해 다음 값을 입력합니다.

    프롬프트 가치
    새 실행 구성 만들기 Y 입력
    OS에 대한 값 정의 Linux에 해당하는 번호 입력
    javaVersion에 대한 값 정의 Java 17에 해당하는 번호를 입력합니다.
    webContainer에 대한 값 정의 TOMCAT 10.0에 해당하는 번호를 입력합니다.
    pricingTier에 대한 값 정의 S1에 해당하는 번호 입력
    확인(Y/N) Y 입력

    플러그인은 당신의 선택을 반영하는 적절한 설정을 pom.xml 파일에 추가합니다.

  2. code를 사용하여 pom.xml 파일을 확인하고 편집할 수 있습니다.

    code pom.xml
    
  3. 파일의 <build> 섹션은 pom.xml 다음 예시와 비슷하게 보여야 합니다.

    <finalName>MyWebApp</finalName>
    <pluginManagement>
      ...
    </pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-webapp-maven-plugin</artifactId>
          <version>2.13.0</version>
          <configuration>
            <schemaVersion>v2</schemaVersion>
            ...
    
  4. Ctrl+S를 입력하여 변경 내용을 저장합니다.

  5. Ctrl+Q를 입력하여 코드 편집기를 종료합니다.

샌드박스 리소스 그룹을 사용하도록 플러그 인 구성

  1. 이 연습에서는 샌드박스에 대한 리소스 그룹의 이름과 위치를 결정해야 합니다. 이렇게 하려면 다음 명령을 사용합니다.

    az group list --query [0].name
    az group list --query [0].___location
    

    이 연습의 뒷부분에서 사용할 수 있는 값을 복사합니다.

  2. azure-webapp-maven-plugin 다시 사용하여 Maven pom.xml 파일에 대화형으로 더 많은 설정을 구성합니다.

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
    

    각 대화형 프롬프트에 대해 다음 값을 입력합니다.

    프롬프트 가치
    구성할 부분을 선택하세요. 애플리케이션을 구성할 해당 번호를 입력합니다.
    appName에 대한 값 정의 기본값 적용
    resourceGroup에 대한 값 정의 이전에 복사한 리소스 그룹의 이름을 입력합니다( [샌드박스 리소스 그룹 이름]이어야 합니다.)
    지역에 대한 값 정의 이전에 복사한 리소스 그룹의 위치를 입력합니다.
    pricingTier에 대한 값 정의 f1 계층에 해당하는 번호를 입력합니다.
    확인(Y/N) Y 입력

    플러그인이 pom.xml 파일의 설정을 업데이트합니다.

웹앱 배포 및 테스트

  1. Maven을 사용하여 Azure App Service에 웹앱을 빌드하고 배포합니다.

    mvn package azure-webapp:deploy
    

    각 대화형 프롬프트에 대해 다음 값을 입력합니다.

    프롬프트 가치
    구독을 선택하세요. 구독에 해당하는 번호를 입력합니다.

    Maven은 일련의 빌드 메시지를 표시하며, 최종 메시지는 Azure에 성공적으로 배포되었음을 나타냅니다.

    [INFO] Successfully deployed the resources to MyWebApp-1570214065588
    [INFO] Trying to deploy artifact to MyWebApp-1570214065588...
    [INFO] Deploying (/home/cephas/MyWebApp/target/MyWebApp.war)[war]  ...
    [INFO] Application url: https://MyWebApp-1570214065588.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  31.001 s
    [INFO] Finished at: 2024-05-02T12:08:40Z
    [INFO] ------------------------------------------------------------------------
    
  2. 셸에서 URL을 선택하여 배포된 앱을 방문합니다. 기본적으로 Maven 플러그 인은 Tomcat 애플리케이션을 기본(루트) 컨텍스트에 배포합니다.

    웹 브라우저의 Azure App Service에서 실행되는 웹앱 예제입니다.

다음 연습에서는 웹앱을 업데이트하고 Azure App Service에 다시 배포합니다.