연습 - 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
구독 옵션을 선택하라는 메시지가 표시되면 줄의 시작 부분에 적절한 번호를 입력하여 구독을 선택합니다.
웹앱 옵션을 선택하라는 메시지가 표시되면 Enter 키를 눌러 기본 옵션인
<create>
을 적용합니다.OS 옵션을 선택하라는 메시지가 표시되면 Enter 키를 눌러
linux
를 선택합니다.Enter 키를 눌러 기본 Java 버전 1.8을 선택합니다.
마지막 프롬프트에서 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 항목 목록을 반환할 수도 있습니다.