CI CD
github action → s3 → code deploy → ec2
- 도커나 젠킨스를 이용하는 방법도 있지만, 이 방법이 제일 익숙할것이라 생각

추가적으로 nginx 리버스 프록시를 이용해 무중단 배포도 가능 (이것도 해보면 좋을 듯)
무중단 배포 포함 전체 구조

- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 일부 발췌
Branch 전략
github flow (https://velog.io/@kw2577/Git-branch-전략)

- 원격 저장소에 브랜치(브랜치 이름은 자세한 작업명을 적어야한다)를 만들어서 작업
- 브랜치 이름은 issue 번호로 해도 될 것 같다고 생각
- issue에 자세한 작업명이 등록되있을거니까
- feature, hotfix의 브랜치를 없애고 위에 자세한 브랜치 이름으로 작업을 나타낸다.
- 피드백, 도움, merge 준비가 완료되면 PR을 생성해서 해결한다.
- PR이 바로 main 브랜치로 반영되므로 배포 주기가 짧아진다.
- 무중단 배포를 한다면 위 전략이 어울릴 것 같음