웹(Web)/데브옵스(DevOps)

[React/Spring Boot/Kotlin] 목록 만들기(배포)

SK_MOUSE 2021. 6. 30. 16:40
반응형

간단하게 프론트/백엔드 정리 참고(더보기)

더보기

FrontEnd => VS 터미널에서 React를 빌드하면된다. 백엔드 없는 프로젝트는 위 빌드파일을 서버에 올리기만하면된다.

npm run build

 

BackEnd =>  Docker에서 AWS에 올리기 : 도커이미지파일 이용

https://inma.tistory.com/148

 

[SpringBoot] Docker 컨테이너 배포 (with. Gradle)

SpringBoot 앱을 개발환경(Development/Production)을 나누어 배포하는 방법에 대해 알아봅니다 🤩 (본 포스팅에서는 SpringBoot + Gradle + Docker를 사용합니다.) 1. Spring Initializr에서 dependency로 Sprin..

inma.tistory.com

 

 


아래 내용은 유튜버 얼쑤Allssu님의 조언을 통해 작성합니다.

https://www.youtube.com/watch?v=JoCB5BDxZTE&lc=UgxTeuWyYvMkVLDkhYN4AaABAg.9PCQi4_obmK9PD0MtANCqQ 

 

실제 운영 서버는 어떻게 올리는가?

: 요약1) AWS EC2 위에 Linux환경에서 Java+NodeJs 설치해서 Build된 프론트파일 실행.

: 요약2) AWS EC2 위에 LInux환경에서 Docker Agent에 어플리케이션을 이미지화 한 파일을 올릴 수 있림.

 

 

<순서>

1. 서버를 직접 사도 되지만 부담스러우니, 클라우드 같은 환경에서 적절한 용량의 서버를 대여합니다.

 

2. AWS EC2같은 서버를 우선 기동시키고, 리눅스 많이 쓰니까, 리눅스에서 Java + NodeJS를 설치하거나, 또는 Docker를 설치합니다.

 

3-1. Java나 NodeJS 같은 런타임 환경을 설치해서 코드를 가져온 다음 실행하는 방법이 있습니다. 리눅스 디렉토리에 클래스파일 또는 Build된 프론트엔드를 올린다음 로컬에서 실행했던 것처럼 리눅스에서 실행하면 되죠!

 

3-2. 스프링부트 프로젝트나 리액트 프로젝트를 도커라이징(dockerizing) 할 수 있습니다. 우리가 만든 어플리케이션을 도커 이미지화 시키는 방법이에요! 이미지를 만들었으면, 리눅스 서버에 떠있는 도커 에이전트에 우리가 만든 이미지를 올릴 수 있습니다. 이렇게 하면 자바나 노드를 설치하지 않고 도커로만 실행할 수 있어요. 마치 MySQL을 직접 설치 안한것 처럼요!

 

4. 이러한 배포를 자동화 하기 위해서는 CI/CD라는게 필요합니다. Git에 올려져있는 소스를 Jenkins에서 받아서 도커라이징 해서 자동으로 배포되게도 설정이 가능해요!

 

 


데이터베이스는 어떻게 처리하는가?

: 요약1) AWS Aurora, Google Cloud SQL 이용해서 따로 Mysql같은것을 사용하지 않고 바로 DB생성.

 

 

MySQL 또는 PostgreSQL 같이 많이 사용하는 관계형 데이터베이스의 경우, 직접 서버위에(같은 서버 또는 분리해서 전혀 다른서버도 무관합니다!) 설치하거나 도커 컨테이너를 구축해서 사용해도 됩니다!

 

그러나 데이터베이스를 설명 안드린 이유는, 더 편하게 사용할 수 있도록 Google Cloud나 AWS 같은 서비스들에서 클릭 몇번으로 데이터베이스가 생성되도록 지원을 하고 있습니다. 최신 어플리케이션에서 데이터베이스의 경우 직접 서버 위에 설치하거나 도커이미지를 띄워서 사용하지 않고 아래의 서비스들을 많이 이용합니다.

 

AWS Aurora : https://aws.amazon.com/ko/rds/aurora/?aurora-whats-new.sort-by=item.additionalFields.postDateTime&aurora-whats-new.sort-order=desc

Google Cloud SQL : https://cloud.google.com/sql


 

반응형