개발자

react 모노레포 배포는 어떻게 하나요?

2023년 12월 12일조회 591

안녕하게요 ! 이번에 yarn berry + workspace를 사용해서 react 프로젝트를 만들어 배포할 일이 생겼습니다 ! 최소 2개 이상의 react 프로젝트가 들어갈 계획인데... 모노레포 배포는 처음이라 어떻게 해야할지 막막하네요😂 aws를 사용해야해서 루트에서 docker로 배포하는 방향이 맞는지... (현재 사내에서 다른 프로젝트는 ECS에 배포중) 아니면 정적 웹 호스팅으로 S3에 각 버킷을 생성해서 배포하는 방향이 맞는지... (이때는 각 react 프로젝트 1개당 1버킷이 맞는걸까요? dev 서버도 만들면 각 2버킷씩인지...🥲) 혹시 보통의 프론트엔드 모노레포 구조에선 어떻게 배포하는지도 알려주시면 감사하겠습니다 :) 좋은 하루 보내세요 !

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

강병진님의 프로필 사진

yarn berry를 활용한 모노레포 구현에 대한 블로그를 전달 드립니다. 상세히 설명이 되어있으니 참고하시면 도움 되실거에요! https://techblog.woowahan.com/7976/ 저는 AWS에서 리액트 프로젝트를 배포할 때는 amplify를 사용하는 것을 추천드립니다. GitHub 레포와 바로 연결시킬 수 있고, amplify 설정할 때 Monorepo로 설정해서 배포하시면 쉽게 처리하실 수 있을거에요

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 12월 12일

React 모노레포 프로젝트를 배포하는 방법은 여러가지가 있을 수 있습니다. 각 프로젝트의 특징과 필요성, 기업의 인프라 구조 등을 고려하여 선택하시면 됩니다. 1. Docker와 AWS ECS 사용: 이 방식은 루트에서 Docker 이미지를 생성하고 해당 이미지를 AWS ECS 서비스로 배포하는 방식입니다. 이 경우 각 앱 별로 별도의 Docker 이미지를 만들거나, 모든 앱을 포함하는 단일 Docker 이미지를 만들 수 있습니다. 별도의 이미지를 만드는 것이 관리 및 배포에 더 유리할 수 있습니다. 2. AWS S3 정적 웹 호스팅: 이 방식은 각 React 앱을 build한 후 그 결과물을 S3 버킷에 업로드하는 방식입니다. 이 경우 각 React 프로젝트별로 S3 버킷을 하나씩 생성하면 됩니다 (예: dev 서버와 prod 서버가 있다면 각각 다른 버킷). 추가적으로 AWS CloudFront 같은 CDN 서비스를 사용하여 콘텐츠 전송 속도를 개선할 수 있습니다. 모노레포 프론트엔드 구조에 대해 말씀드리자면, 기본적으로 모든 앱이 같은 루트 디렉토리에 위치해 있으며, 각 앱은 독립적으로 빌드되고 배포될 수 있습니다. 따라서 위의 두 가지 방식 모두 가능하며, 특히 Docker를 사용하는 경우 빌드 및 배포 파이프라인을 통합하여 관리할 수 있는 장점이 있습니다. 위의 내용을 바탕으로 적절한 방법을 선택하시길 바랍니다. 감사합니다!

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!