불친절한 블로그

[WebServer] 프로젝트 배포하기!! 본문

Project/공항 PCR 확인서

[WebServer] 프로젝트 배포하기!!

오누! 2021. 6. 3. 16:58
반응형

 

배포라는 말을 들었을 때는 뭔가 굉장한 작업같고, 부담이 된다.

실제 클라이언트들이 사용하는 것이고, 개발할 때 잔 에러들도

예민하게 보이기 때문에 부담을 갖고 있어서 그런지 배포가 되게 어렵게 느껴졌었다.

하지만 어려운게 아니다!!

 

단지 코드를 실행해서 결과를 확인하는 것처럼 이런 행동이 서버에서 일어 날 뿐이다.

 

실습 환경

서버 컴퓨터 : AWS EC2
프로젝트 : java + spring boot + jsp + gradle
데이터베이스 : postgres
코드 툴 : inteliJ
코드관리 : gitlab

 

우선 코드를 작성하고 완료한 시점에 jar나 war로 묶어준다.

 

gitlap에 완성된 코드를 커밋/푸쉬 해준다.

이제 서버에 접속해보자.

AWS에 접속해서 EC2에 진행중인 인스턴스에 접속한다.

 

현재 실행중인 녀석을 확인해보자.

$ ps -ef

가장 하단에 프로젝트에서 말아놓은 war가 보인다.

이전에 배포해놓은 녀석이다.

수정하기 전 버전일 것이다. (당연히)

 

새로 수정한 버전으로 적용하기 위해 죽이자.

$ kill -9 [pid]

 

이전에 프로젝트가 배포되어있는 프로젝트 폴더도 지우자.

$ rm -r ['프로젝트 폴더 명']

 

gitlab으로 푸쉬한 녀석을 여기에 클론해준다.

$ git clone ['gitlab 프로젝트 주소']

 

이제 다시 프로젝트가 받아와져서 프로젝트 폴더가 생성되었을 것이다.

 

war가 있는 경로까지 이동해서 배포해준다.

배포 해줄때 nohup을 쓰는 이유는 백그라운드에서 프로그램이 실행되어야 해서 nohup을 사용한다.

$ cd ['war가 있는 경로']
$ nohup java -jar ['war명'].war &

 

이제 잘 배포 되었는지 확인해보자.

굳!

반응형
Comments