본문 바로가기

OpenDev

Azure App Service를 위한 Maven 플러그인을 이용해 자바 8과 톰캣 8.5/9 환경에 앱 배포해 보기

반가운 소식 하나 알려 드립니다. 애저 앱 서비스를 위한 Maven 플러그인이 발표되었습니다. 이제 아파치 Maven을 이용한 프로젝트 관리 범위를 애저 환경까지 간단하게 확대할 수 있습니다. 한 단계만 거치면 WAR 파일을 애저 웹 앱 환경에 배포할 수 있습니다. 

애저의 리눅스에 올린 톰캣으로 자바 앱을 배포하는 예를 간단히 살펴보겠습니다. 자, 애저 앱 서비스 플러그인이 IDE와 지속적 통합/지속적 배포(CI/CD) 파이프라인에 잘 녹아들어 가는지 함께 보시죠. 

몇 달 전에 리눅스 기반의 애저 웹 앱(Azure Web Apps on Linux) 환경을 위한 자바 8과 톰캣 8.5/9.0 지원에 대한 프리뷰가 발표되었습니다. 개발자가 자바 앱을 애저 환경에 손쉽게 배포하고 운영할 수 있도록 지원하기 위해서인데요, 개발자는 매니지드 환경이 제공하는 고가용성 보장, 자동 확장 등을 이용해 코드에만 집중할 수 있게 됩니다. 

본론으로 돌아와 새로운 애저 웹 앱을 생성합니다. 그다음 리눅스와 톰캣 스택을 선택합니다. 이렇게 만든 새로운 웹 앱에 대한 설정 정보를 저장합니다. 이제 Maven 플러그인을 설정합니다. pom.xml 파일을 연 다음과 같은 내용을 <configuration> 섹션에 넣습니다. 더 자세한 내용은 깃허브 페이지를 참조 바랍니다. 

<!-- Web App information --> <resourceGroup>your-resource-group</resourceGroup> <appName>your-app-name</appName> <!-- Java Running Stack for Web App on Linux--> <linuxRuntime>tomcat 8.5-jre8</linuxRuntime> <!-- Deployment Type --> 

<deploymentType>war</deploymentType>


이제 실행을 해보죠. 애저에 로그인한 다음 애저 CLI 2.0 도구를 엽니다. 그리고 다음과 같은 명령을 입력하면 프로젝트가 생성되고 관련 WAR파일이 만들어집니다. 이후 애저 웹 앱으로 자동 배포됩니다. 

$ mvn clean package azure-webapp:deploy


이게 전부 입니다. 간단하죠. 웹 브라우저를 열어 URL을 입력한 다음 자바 앱이 잘 돌아가는지 확인하는 일만 남았습니다.