Open Hyunuk17 opened 1 year ago
@Hyunuk17님, 고생 많으셨습니다! org 내 별도 secret 등의 private 저장소를 하나 생성해서 db 접근 가능한 계정 팀에 공유주시면 좋을 것 같아요 :) 일단 1개 서버에 다 올리시죠!
배포도 해야되니 git 설치도 부탁드려요!
아래 내용으로 진행해주시면 될 것 같습니다.
node -v
/ npm -v
로 잘 설치되었는지만 확인
@tomato-market-mentor
MariaDB 설치되어있는 서버에 다 같이 포함해서 올리라는 말씀이실까요? 아니면 DB만 제외하고 하나로 묶어서 올리라는 의미인가요?
@Hyunuk17님, 일단 다같이 올려주세요. 다 올리고 서버 접근 키 공유주시면 리소스 가용 상태 한번만 볼게요.
@tomato-market-mentor
네 알겠습니다! 가능한 한 금요일까지는 완성해서 올리겠습니다.
@Hyunuk17님, aws가 프리티어 리소스가 적은 편이라 구글 클라우드나 네이버 클라우드 프리티어도 한번 비교해보시면 좋을 것 같아요. 프리티어로 더 높은 스펙의 서버 받을 수 있으면 다른 서버로 갈아타는 것도 괜찮을 것 같습니다 :)
@tomato-market-mentor 네 확인해 보겠습니다!
@tomato-market-mentor
서버 구축 완료했습니다.
node -v
, npm -v
확인git clone
으로 backend repo 저장 후 gradlew로 빌드 및 8080번 포트로 접속 확인spring boot 코드(~/app/tomato/) 빌드하다 인스턴스가 멈추는 일이 발생, swap memory 지정 후 문제 없이 동작합니다.
다른 서비스들은 비교해 봤는데 메모리는 1GB로 똑같고 네이버 클라우드가 저장소 50GB로 많기는 하지만, AWS의 다른 서비스들도 나중에 사용해보고 싶어서 일단 AWS 그대로 사용하는 것으로 정했습니다!
@Hyunuk17님, 고생 많으셨습니다!
- Swap Memory 2GB 지정
👍 FE 빌드 시에도 비슷한 문제가 발생할 수 있으니 빌드는 병렬보다는 직렬로 하는게 좋겠네요! 빌드를 돌리는 프로세스의 oom(out of memory) 우선 순위를 낮추는 방식도 있는데 참고 부탁드려요.
다음 액션 플랜으로 빌드 및 배포를 먼저 진행해도 좋을 것 같아요. 아래 내용을 참고해주세요!
/api
경로로 접근 시 8080 포트를 호출하여 api 호출하기
http://10.0.0.1/api/product/list
호출 -> nginx에서 프록시 처리하여 8080 프로세스를 호출 -> 8080 서버가 응답/api
경로를 호출하여 api를 호출해야 합니다.위 내용을 기반으로 cd까지 구성해보면 좋겠지만 아마 리소스가 여의치 않으실테니 나중에 한번 해보시는 것도 나쁘지 않을 것 같습니다 :)
Ex) release*
규칙의 브랜치로 PR 병합 시 해당 코드를 자동으로 배포
@tomato-market-mentor
네 반영하겠습니다!
@tomato-market-mentor
인프라 구축 진행 완료했습니다!
@Hyunuk17님, 고생 많으셨습니다! 👍 CI에 빌드도 한번 구동되도록 추가해주시면 좋을 것 같아요. 빌드가 깨지는지 PR 시점에 확인할 수 있어서 형상을 stable하게 관리할 수 있습니다 :)
자바쪽 CI는 저도 잘 몰라서 현욱님이 한번 찾아보시고 있다면 적용 해보시죠!
혹시 CD 구축이 여의치 않다면 배포 프로세스를 문서화해두시고, 해당 문서를 기반으로 팀원 모두가 배포할 수 있도록 하면 좋을 것 같습니다!
@tomato-market-mentor 서버 구축에 대한 질문이 있습니다!
현재 EC2 인스턴스로 MariaDB를 구축, Workbench로 접근 가능하게 생성했습니다.
나머지 nginx, node, java, redis 구축에 대해서
이렇게 별도의 EC2 인스턴스로 서버를 생성하는 것으로 이해했는데 맞을까요? 아니면 1,2번을 합쳐서 구축하는게 맞을까요?