SpringBoot Ubuntu VM에 배포하기

손재명·2023년 5월 11일
0
post-thumbnail

Requirements

  • Java 11
  • Maven

관련 패키지 설치

$ apt update
$ apt install openjdk-11-jdk
$ java --version 
  • 현재 root 권한이 아니라면 명령어 앞에 sudo를 붙여 주세요.

SpringBoot 프로젝트 빌드 및 배포

  1. 프로젝트 폴더에 들어가주세요.

  2. 프로젝트 최상단 폴더에서 아래 명령어를 입력하여 프로젝트를 빌드합니다.

$ ./mvnw clean package
  1. 빌드 폴더로 들어간 후 빌드 파일을 실행해 주세요.
$ cd target/
$ java -jar {빌드 파일 명}.jar

짜잔, 서버가 실행되었어요.

DNS 설정

  • Azure Potal에서 레코드를 생성하기에서 별칭 형식에서 VM 리소스 아이피를 연결해준 후 생성합니다.

Nginx에 서버 등록하기

  1. nginx.conf 파일을 수정하고 SpringBoot 서버와 연결해줘요.

  2. nginx 서버를 재시작합니다.

sudo service nginx restart
  1. 등록한 도메인으로 접속

정상적으로 배포가 되었어요!

하지만 너무너무 수동적인 방식이고 VM에 이런식으로 배포하는건 프로덕션 상태에서 올바른 배포는 아니라고 개인적으로 생각해요.

기존에 저희는 Nest.JS만 사용해오다가 추후 서비스 규모가 커지게 될것을 우려하여 SpringBoot로 일부 프로젝트를 이전 해보는것을 제안하였고, 이번에 개인적으로 스터디 해서 SpringBoot를 일부 서버에 적용하고 마이그레이션 해보기로 했는데요!

처음 해보는 SpringBoot라 많이 낯설었지만, Nest.JS와 구조가 너무너무 비슷해서 금방 적응하고 개발, 배포까지 하루만에 끝냈어요.

이번 개인스터디에서 Gradle이 아닌 Maven을 사용해본 이유는 Gradle이 출시되기 이전에 나왔고 Maven의 단점을 보완해서 나온게 Gradle이라고 해서 사용해보았고, 그대로 Gradle을 사용하여 다시 개발해볼 예정이에요.

추후 차근차근 구조도 개선하고 빌드/배포 과정도 CI/CD로 자동화 할 예정이에요

profile
”빠르게 성장하는 로켓 개발자“ 성장하는 과정을 기록하다.

0개의 댓글