$ apt update
$ apt install openjdk-11-jdk
$ java --version
프로젝트 폴더에 들어가주세요.
프로젝트 최상단 폴더에서 아래 명령어를 입력하여 프로젝트를 빌드합니다.
$ ./mvnw clean package
$ cd target/
$ java -jar {빌드 파일 명}.jar
짜잔, 서버가 실행되었어요.
nginx.conf 파일을 수정하고 SpringBoot 서버와 연결해줘요.
nginx 서버를 재시작합니다.
sudo service nginx restart
정상적으로 배포가 되었어요!
하지만 너무너무 수동적인 방식이고 VM에 이런식으로 배포하는건 프로덕션 상태에서 올바른 배포는 아니라고 개인적으로 생각해요.
기존에 저희는 Nest.JS만 사용해오다가 추후 서비스 규모가 커지게 될것을 우려하여 SpringBoot로 일부 프로젝트를 이전 해보는것을 제안하였고, 이번에 개인적으로 스터디 해서 SpringBoot를 일부 서버에 적용하고 마이그레이션 해보기로 했는데요!
처음 해보는 SpringBoot라 많이 낯설었지만, Nest.JS와 구조가 너무너무 비슷해서 금방 적응하고 개발, 배포까지 하루만에 끝냈어요.
이번 개인스터디에서 Gradle이 아닌 Maven을 사용해본 이유는 Gradle이 출시되기 이전에 나왔고 Maven의 단점을 보완해서 나온게 Gradle이라고 해서 사용해보았고, 그대로 Gradle을 사용하여 다시 개발해볼 예정이에요.
추후 차근차근 구조도 개선하고 빌드/배포 과정도 CI/CD로 자동화 할 예정이에요