[일단 박죠] Demo Project를 클라우드를 이용하여 배포 #1

jeyong·2023년 11월 22일
0

공부 / 생각 정리  

목록 보기
86/120
post-custom-banner


앞에서 도커를 이용한 로컬 환경에서의 실행을 완료했으니 이제 클라우드 타입에서 데이터베이스 서버와 플라스크 서버를 배포한 후 해당 서버들을 스프링에서 dev 환경에 등록한 후 dev 환경에 돌려볼 것이다.

1. MariaDB 서버 배포

클라우드 타입에서 MariaDB를 배포 하는 방법은 괴장히 간단하다. 공식 유튜브에서도 자세히 설명해주고 있고 다른 블로그 좋은 게시글도 많으니까 간단하게 설명하겠다.

사진에서 볼 수 있듯이 버전과 root 계정의 비밀번호를 설정해주면 배포할 수 있다.

배포를 하게 된다면 사진과 같이 도메인 주소가 나오는데 "svc.sel5.cloudtype.app:30733"는 dev 환경에서 DB 설정에 사용할 주소이다. 즉, 외부에서 접속 가능하다.
"mariadb:3306"은 해당 프로젝트의 내부 주소이다. 같은 프로젝트에 위치한다면 해당 주소로 접속 가능하다. 즉, 후에 prod 환경에서 DB 설정에 사용할 주소이다.

주의해야할 점은 프로젝트 설정에서 사진과 같이 TCP 외부 접속 허용을 설정해야 외부에서 접속이 가능하다. Dev 환경에서는 데이터베이스 서버와 플라스크 서버에 외부 접속 주소를 이용해서 접속하므로 해당 기능을 켜야한다.

2. Flask 서버 배포

클라우드 타입에서 Flask 서버도 배포해야지 스프링에서 Dev환경에서 실행할 수 있다.

내 저장소를 등록할때 나는 Flask라는 서브 디렉토리에서 도커파일 및 app.py 파일을 관리하고 있으므로 서브 디렉토리로 Flask 디렉토리를 설정하였다.

환경변수로 production을 설정하였는데, 이건 이전에 게시글의 Flask 서버의 도커파일에 환경변수를 설정하는 것이다. Flask는 운영(production)과 개발(development) 두 가지 환경에서 운영할 수 있다. 개발 환경에서 웹 서버를 올리면 디버깅 모드로 실행되어 오류 로그를 웹 페이지에서 확인할 수 있다. 
그리고 port는 5000으로 설정해주고 Dockerfile path를 이용하여서 도커파일 위치를 지정해준다.

마찬가지로 도메인 주소가 나오게 되는데, 위에 DB 설명과 같은 내용이므로 생략하겠다.

3. Spring Dev 실행 환경 구축

이전에 스프링 애플리케이션 도커 파일을 살펴본다면 아래 내용을 찾을 수 있다.

PROFILE 변수를 수정해서 실행 할 환경을 설정할 수 있다.
여기서 궁금증이 든다. 만약 설정을 안한다면?

해당 사진에서 볼 수 있듯이 default가 local이므로 local 프로필로 설정 되어 실행될 것이다.

보는 것과 같이 dev-dv 환경에서 실행할 변수들을 저장한다. 해당 파일은 깃허브에 올라가면 안된다!

그리고 application-dev.yml 에서 import: classpath:application-db.yml 처럼 읽어와서 실행하면 된다.

해당 사진은 플라스크 서버의 도커 실행 로그이다. 스프링의 응답을 받고 모델이 잘 작동 되는 것을 볼 수 있다.

dev 프로필을 통한 실행을 성공하였으니, 이제 prod 환경 즉, 내부에서 돌아가도록 환경을 설정하고 클라우드 타입에 배포하게 되면 끝이다! 다음 게시글에서 계속하겠다

profile
노를 젓다 보면 언젠가는 물이 들어오겠지.
post-custom-banner

0개의 댓글