본문 바로가기
프로젝트/Recipository

[Dev] 23.03.29. Project build 해서 배포하기

by 규글 2023. 3. 29.

 지난 두 게시글에서 AWS의 EC2 인스턴스와 RDB 인스턴스를 만들었고, MYSQL을 EC2와 프로젝트에 연동하도록 변경해주었다. 이제는 프로젝트를 인스턴스에 올려볼 차례이다.

 

 

Java 설치

sudo apt-get update

sudo apt-get install openjdk-11-jdk

 필자의 프로젝트는 java 11로 진행했으므로 그에 맞는 버전을 설치해주었다.

 

Project Build 및 EC2로 복사

 IntelliJ를 열어 우측 Gradle에 있는 project name > Tasks > build > build 를 찾아 실행해주면 project의 build > libs 에 jar file이 생기는 것을 확인할 수 있다. 이러면 build가 된 것이다. 이제 이 file을 가지고 EC2 인스턴스에 보내줄 것이다.

 

scp -r -i 'pem file' 'jar file' ubuntu@(IP Address):/home/ubuntu

 우선 build한 파일을 EC2 인스턴스를 생성하면서 다운받았던 pem file이 있는 폴더로 옮기든지 복사를 한다. 'scp' 명령어는 'Secure Copy Protocol'를 줄인 것으로, unix나 linux 두 위치 사이에 파일 혹은 폴더를 안전하게 복사할 수 있도록 한다. 필자는 pem file이 있는 폴더에서 수행했다. 이때 ip address 위치에는 인스턴스의 퍼블릭 IP DNS를 작성해준다.

 

 

EC2에서 실행

java -jar 'jar file'

java -jar recipository-0.0.1-SNAPSHOT.jar

 EC2 인스턴스에 접근하면 현재 위치인 /home/ubuntu 위치에 원래는 없던 jar file이 생긴 것을 확인할 수 있다. java 명령어를 통해서 jar file을 실행하면 intelliJ에서 봤던 log들을 그대로 볼 수 있어서, 정상적으로 server가 시작된다면 그것으로 테스트는 된 것이다.

 

 마지막으로 퍼블릭 ip를 통해 접근하여 페이지가 정상적으로 뜨는 것까지 확인하였다. 다음은 S3를 활용해서 업로드한 이미지 파일을 저장하고, 그 항목을 불러오도록 프로젝트를 수정할 것이다. 그리고 새롭게 git과 연동해서 프로젝트를 배포해볼 것이다.

 

 

 이번 게시글도 인스턴스를 생성할 때 참고했던 블로그를 계속해서 참고하였다.[각주:1]

 

 

Reference

 

 

댓글