Skip to content

배포 과정

Jaehong Choe edited this page Apr 15, 2022 · 1 revision

EC2 서버에 스프링부트 프로젝트 배포 과정

  1. 일단 AWS EC2에 8080 포트를 열어준다.

    • 보안그룹 > 인바운드 규칙 편집 > 아래와 같이 규칙 추가

    image

  2. 서버에서 프로젝트를 clone받아온 후 jar파일 생성 및 실행

# 원격 서버에 자바 설치
sudo apt install openjdk-11-jdk

# 배포할 코드 clone (EC2에 git은 기본으로 깔려있는 듯 함)
git clone {저장소 url}

# 클론 받아온 프로젝트의 gradlew를 실행하여 빌드 시작 
# 프로젝트 폴더로 들어가서 경로 맞추고 jar생성
./gradlew bootJar 

# 빌드된 jar파일이 위치한 디렉토리
cd build/libs

# jar를 백그라운드로 실행(&)
java -jar {jar파일명.jar} &    

# 만약 permission denided가 뜨면 gradlew 실행권한이 없는 파일인 것이니 실행파일로 만들어주자.
chmod +x gradlew 
  • jar파일을 백그라운드로 실행하는 이유는 터미널 종료시 sighup 시그널로 인해 웹서버가 죽는 것을 방지하기 위함.
  • bootJar , bootRun 으로 빌드하는 경우 테스트를 실행하지 않아서 빠르다고 함.
  1. (번외) EC2 인스턴스 메모리 이슈로 로컬에서 프로젝트 빌드 후 scp로 jar파일 전송
# 로컬에서 위와 같이 ./gradlew로 빌드 후
scp -i {접속용 pem 키} {jar파일} {서버이름}@{서버url}:{파일을 전송할 서버 디렉토리}

# ex)
scp -i ~/keys/XXX.pem todo-list-0.0.1-SNAPSHOT.jar [email protected]:/home/ubuntu

📚 Home

OverView

🤝 협업 방식

Git

📋 프로젝트 구성 문서

DB Schema
DB 접속 정보 관리
배포 과정

✏️ 일일 회의록

22.04.15
22.04.14
22.04.13
22.04.12
22.04.11
22.04.09 ~ 22.04.10
22.04.08
22.04.07
22.04.06
22.04.05

Clone this wiki locally