실전프로젝트 - 1주차
1. 회의 내역(BE 관련)
1) 무한스크롤
- 위스키 리스트, 지도에서 가게 조회, 위스키 가게 리스트 에 적용 예정
2) 위스키 카테고리
- 무한스크롤 방식으로 인하여 res에 일부 데이터가 끊어서 들어가게 됨
- FE에서 전체 데이터를 받지 못하게 되어 각 카테고리 페이지마다 별도의 api 제작 예정(기존에는 전체 데이터를 FE에서 받은 후 FE에서 분류)
3) 추가 스코프 - 카톡 알림
- 유저가 줄서기 알림카톡에서 특정 버튼을 누르면 서비스api와 연동(카톡알람 api 연구 필요)
- 마이페이지 줄서기링크를보냄(웹페이지에서 유저가 점주에게 메세지 보내기 버튼)
- 점주에게 유저 반응만 전송
- 위 방식 중 선택 예정
4) 카톡api 성인 인증
- 술 관련 컨텐츠여서 성인인증 절차가 까다롭게 됨
- 네이버로 우회 또는 성인 인증 없이 가능한 카카오 api들로만 진행 예정
2. 작업 내역
1) CI 수정
- 기존에 CI환경만 생각해서 배포 브랜치에 pr이 오면 자동으로 검사를 진행하고 검사가 완료되면 머지 버튼을 활성하 하는식으로 세팅 하였는데, CD 환경 구축 이후 pr만 보내도 codedeploy에서 자동배포가 진행 되는 이슈가 발생
- build on 로직에 pr조건 삭제, 배포 브랜치에 머지할 경우에만 CI/CD 진행 되도록 수정
2) CD 환경 구축
- aws code deploy로 진행
- 레퍼런스 사이트 https://vanillacreamdonut.tistory.com/323
- 해당 사이트의 가이드 기반으로 완성 했으며, aws 정책 변경 사항과 자세한 세팅 차이점은 트러블 슈팅에 기술
3) CD 구축 완료
- ci.yml에 cd빌드 추가
- codedeply에서 진행될 yml 추가
- 배포 이후 빌드 추가
3. 트러블슈팅/회고
1) 처음에 레퍼런스 사이트의 가이드를 깊은 이해없이 그대로 따라하다가 많은 에러가 발생했다
2) 이슈1 : appspec.yml
- 파일 경로(destination)를 잘못 지정해주어 수정(원하는 프로젝트 디렉토리 명으로)
- overwrite 기능은 첫 배포 이후에 동작하는 기능, 최초 codedeploy배포 시에는 동일 디렉토리가 존재하면 덮어쓰기가 안됨
3) 이슈2 : ci.yml
- cd빌드 명령어를 추가하였는데, zip부분에 필요한 디렉토리 스트럭쳐들의 경로를 추가하려니 양이 너무 많아서 전부 압축하는것으로 진행하였다
- 필요한 파일들만 압축해주도록 디렉토리 구조들을 다음 프로젝트에 적용할 예정, 이를 통해 cd 빌드 속도를 줄일 수 있을것으로 예상
4) 이슈3 : after-deploy.sh
- 이미 빌드작업은 끝났고 codedeploy 배포만 남은 상황인데, 해당 파일의 역할을 잘못 이해해서 npm ci와 npm build를 다시 해줬다
- codedeploy 진행 중 afterinstall 단계에서 npm build로 인해 우분투 프리티어 인스턴스가 터져버렸다
- timeset이 300초인데 31분동안 cpu가 풀로 돌더니 결국 서버가 다운 되어버렸다
- 이후 after-deploy.sh의 파일을 수정해 준 뒤(build제거 및 변경사항 적용을 위한 pm2 restart) 터진 인스턴스를 중단해주고 새로 생성 후 CI/CD 재진행을 하였더니 성공하였다
- codedeploy 모니터링 명령어 : sudo tail -f /var/log/aws/codedeploy-agent/codedeploy-agent.log
5) 이슈4 :
- 인스턴스 중단과정이 몇번 있었고, 매번 ip가 재할당이 되어 탄력ip를 발급하여 고정해 주었다
'항해14기 본과정 > 항해14기 개발일지' 카테고리의 다른 글
[항해 14기] 개발일지45 (실전프로젝트 - Nginx) (0) | 2023.05.28 |
---|---|
[항해 14기] 개발일지44 (실전프로젝트 - 도메인, HTTPS 1차 시도) (0) | 2023.05.26 |
[항해 14기] 개발일지42 (실전프로젝트 - GIT Flow, CI 환경 구축) (0) | 2023.05.25 |
[항해 14기] 개발일지41 (실전프로젝트 - 지도 OPEN API, EC2배포) (0) | 2023.05.23 |
[항해 14기] 개발일지40 (실전프로젝트 - BE아키택쳐) (0) | 2023.05.22 |