1. 프로젝트 인프라 환경


<aside> 💡

프로젝트 서버는 AWS 클라우드 환경을 통해 최종적으로 무중단 배포가 가능하도록 구축 될 예정이며, 클라이언트는 IOS 앱을 통해 어플이케이션에 접근할 수 있습니다.

</aside>

<aside> 💡 DB는 AWS의 RDS MariaDB를 통해 구현되었으며, 이미지 파일 저장으로 AWS S3를 사용합니다.

</aside>

- Server Architecture

nanuri_project_architecture.drawio.png

서버 개발자는 InteliJ 를 사용해 개발을 진행하며, GitHub에서 코드가 관리 됩니다.

GitHub master branch에 푸쉬가 이뤄지면 TravisCI를 통한 테스팅 과정 및 빌드가 진행되고 jar 파일을 AWS S3에 저장합니다.(CodeDeploy에 저장 기능이 없기때문)

이 jar 파일을 통해 AWS CodeDeploy에서는 EC2로 배포를 진행합니다.

EC2 에서 설계된 scprit가 실행되며 nginx가 바라보고 있지 않은 포트를 찾고 새로운 버젼의 배포가 실행됩니다.

배포가 정상적으로 실행되었으면 nginx가 바라보는 포트를 새로운 버젼의 포트를 바라보게 스위치 시킵니다.

- Client Architecture

Untitled