연습 - Spring Boot 애플리케이션 배포

완료됨

이 단원에서는 Maven을 통해 배포되도록 Spring Boot 애플리케이션을 구성합니다. 그런 다음, Azure App Service 인스턴스를 만들고 배포합니다.

Maven 플러그 인 구성

Azure App Service에 대한 배포 프로세스는 Azure CLI의 Azure 자격 증명을 자동으로 사용합니다.

다음 Maven 명령을 실행하여 배포를 구성합니다. 이 명령은 App Service 운영 체제, Azure 구독, Java 버전을 설정하는 데 도움이 됩니다.

mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config
  1. 구독 옵션을 선택하라는 메시지가 표시되면 줄의 시작 부분에 적절한 번호를 입력하여 구독을 선택합니다.

  2. 웹앱 옵션을 선택하라는 메시지가 표시되면 Enter 키를 눌러 기본 옵션인 <create>을 적용합니다.

  3. OS 옵션을 선택하라는 메시지가 표시되면 Enter 키를 눌러 linux를 선택합니다.

  4. Enter 키를 눌러 기본 Java 버전 1.8을 선택합니다.

  5. 마지막 프롬프트에서 Enter 키를 눌러 선택 내용을 확인합니다.

    Please confirm webapp properties
    AppName : demo-1604579125693
    ResourceGroup : demo-1604579125693-rg
    Region : eastus
    PricingTier : PremiumV2_P1v2
    OS : Linux
    Java : Java 8
    Web server stack: Java SE
    Deploy to slot : false
    Confirm (Y/N) [Y]: Y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  28.781 s
    [INFO] Finished at: 2020-11-05T14:30:00+02:00
    [INFO] ------------------------------------------------------------------------
    

중요

지역의 기본값은 westeurope입니다. 최상의 성능을 위해 값을 eastus로 변경합니다. 데이터베이스가 이 지역에 있기 때문입니다.

프로젝트의 pom.xml 파일에서 다음 필드를 변경합니다.

    <configuration>
        ...
        <region>eastus</region>
        ...
    </configuration>

앱 배포

Maven 배포 플러그 인이 Azure App Service 서버를 만듭니다. JAR 파일을 애플리케이션 서버의 /local/site/wwwroot 디렉터리에 복사합니다. 마지막으로, 플러그 인이 Spring Boot JAR 파일에 포함된 HTTP 서버를 통해 애플리케이션을 시작합니다.

다음으로, 아래 명령을 사용하여 Azure에 Spring Boot 애플리케이션을 배포합니다.

mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy

이 스크린샷은 Azure App Service에 배포된 애플리케이션을 보여 줍니다.

배포된 애플리케이션 스크린샷

Azure App Service 애플리케이션 테스트

배포가 완료되면 애플리케이션이 http://<appName>.azurewebsites.net/에서 준비됩니다.

애플리케이션을 테스트하기 위해 cURL을 사용할 수 있습니다.

애플리케이션을 다시 배포했으므로 데이터베이스가 지워졌습니다. 이제 데이터베이스에 새 todo 항목을 만들어야 합니다.

curl --header "Content-Type: application/json" \
    --request POST \
    --data '{"description":"configuration","details":"congratulations, you have set up your Spring Boot application correctly!","done": "true"}' \
    http://<appName>.azurewebsites.net

이 명령은 생성된 항목을 반환합니다.

{"id":1,"description":"configuration","details":"congratulations, you have set up your Spring Boot application correctly!","done":true}

cURL 요청을 사용하여 데이터를 검색합니다.

curl http://<appName>.azurewebsites.net

이 명령은 직접 만든 항목을 포함하여 todo 항목 목록을 반환합니다.

[{"id":1,"description":"configuration","details":"congratulations, you have set up your Spring Boot application correctly!","done":true}]

참고

웹 브라우저에서 URL을 열어 todo 항목 목록을 반환할 수도 있습니다.