희디비
[Chapter8] EC2 서버에 프로젝트 배포하기 본문
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
클라이언트에서 커맨드 라인이나 소스코드로 손 쉽게 웹 브라우저 처럼 활동할 수 있도록 해주는 기술
'Clone Coding' 카테고리의 다른 글
[Chapter7] AWS에 데이터 베이스 환경 만들기(RDS) (0) | 2023.10.28 |
---|---|
[Chapter4] 머스테치로 화면 구성하기 (0) | 2023.10.25 |
[Chapter3] SpringBoot JPA (0) | 2023.10.21 |
[Chapter2] 스프링 부트와 AWS로 혼자구현하는 웹서비스 (0) | 2023.10.17 |
[Junit] java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test (1) | 2023.10.14 |