Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

희디비

[Chapter8] EC2 서버에 프로젝트 배포하기 본문

Clone Coding

[Chapter8] EC2 서버에 프로젝트 배포하기

희디비 2023. 10. 31. 16:29

EC2에 깃을 설치하고 프로젝트를 Clone 합니다.

 

 

코드들이 잘수행되는지 테스트로 검증해봅니다!

 

배포스크립트 작성하기

배포 : 작성한 코드를 실제 서버에 반영 하는것

- git clone 혹은 git pull을 통해 새버전 프로젝트를 받음

- Gradle 이나 Maven을 통해 프로젝트 테스트와 빌드

- EC2 서버에서 해당프로젝트 실행 및 재실행

 

위 과정을 배포할때마다 명령어를 실행하는 것은 불편함으로 쉘스크립트를 작성합니다.

 

쉘스크립트 : 리눅스에서 사용할수있는 스크립트 파일의 한종류

Vim : GUI 환경이 아닐경우 사용할수있는 편집도구

 

deploy(배포).sh 를작성합니다. 

 

 

오타

책에 오타가 하나있는데 >> {pgrep -f 중괄호 표시가 되어있었다. 문법오류가 있어서 빌드가 안되었다.

쉘스크립트와 빔을 처음써봐서 어리둥절 하다가 저자님 깃허브 이슈탭에 오타를 확인하여 수정했다.

 

그후 ./deploy.sh 를 실행하면 다음과 같은 오류가 뜹니다

 

 

이유는 ClientRegistrationRepository를 생성하면 clientId와 clientSecret가 있어야합니다.

깃에는 .ignore로 올라가지 않게 설정했으므로 서버에서 Clientid와 ClientSecret을 가지고있는 파일을

만들어야 합니다.

 

application-oauth.properties 파일을 생성합니다

 

 

그후에 파일에있는 oauth.properties 내용을 붙여넣기합니다.

 

스프링 부트 프로젝트로 RDS 접근하기

 

현재 MariaDB를 사용중이면 스프링부트 프로젝트를 실행하기위해 몇가지 작업이 필요합니다.

 

- 테이블 생성 : H2 자동생성 되던 테이블을 MariaDB에선 직접 쿼리를 사용해 생성합니다.

- 프로젝트 설정 : 자바 프로젝트가 MariaDB에 접근하려면 DB 드라이버가 필요합니다.

- EC2 설정 :  데이터베이스 접속정보는 중요한 정보입니다. EC2 서버내부에서

                  접속 정보를 관리하도록 합니다.

 

쿼리를 통해 테이블을 만듭니다.

 

 

build.gradle에 MariaDB 드라이버를 등록합니다.

 

실제 운영될 환경이기 때문에 보안/로그상 이슈를 제거하고 application-real.properties 를 만듭니다.

 

RDS 접속정보도 보호해야할 정보이니 EC2서버에 application-real-db.properties를 생성합니다.

 

deploy.sh가 real profile을 쑬수있도록 합니다.

그후 deploy.sh를 실행하면 서비스 실행을 볼수있습니다.

curl localhost:8080 을 사용하면 소스코드를 볼수있습니다.

 

Curl

클라이언트에서 커맨드 라인이나 소스코드로 손 쉽게 웹 브라우저 처럼 활동할 수 있도록 해주는 기술