[WIL 8주차] 240325~240331

Dyong_Song·2024년 3월 31일
0
post-thumbnail

✏️  항해 8주차, 실전 프로젝트

🗓️   지난 이야기

실전 프로젝트가 시작됐습니다. 한 주가 어떻게 흘러갔는지 모르겠습니다. 화요일부터 프로젝트가 시작되었으니, 오늘이 프로젝트 6일차입니다. 프로젝트 주제를 선정하는 것이 프로젝트에서 가장 중요하다고 생각했기 때문에, 프로젝트 첫 날은 주제 선정에 많은 시간을 투자했습니다. 주제가 정해지니, API 설계 및 MVP 범위 설정은 빠르게 진행됐습니다.

주제가 위치 기반의 소모임 어플이기 때문에, 위치-지도 관련 기능과 채팅 기능이 필수적으로 들어가야 했습니다. 또한, CI/CD 환경 구축을 먼저 해두는 것이 좋다는 멘토님의 SA 피드백이 있었기 때문에, 관련 공부도 필요했습니다. 소셜 로그인 기능도 추가하기로 했기 때문에, 백엔드 4명이서 하나씩 담당해서 사전 조사 및 테스트를 진행하기로 했습니다. 저는 인프라와 관련된 작업을 진행하기로 했기 때문에, CI/CD 환경 구축에 대한 테스트를 진행했습니다.

CI/CD 환경을 어떤 기술을 통해 구축할지 고민해본 결과, GithubActions + Docker를 선택하게 됐습니다. Jenkins를 고려해보았으나, 여러 플러그인들에 의존적이며, 테스트 결과 관련 환경 설정이 복잡했습니다. 내용을 공유하고 함께 배우기에는 짧은 개발 기간을 고려했을 때, 부적합하다고 판단했습니다. 또한, GithubActions의 템플릿들이 기존에 잘 구성되어 있었기 때문에 더욱 매력적으로 느껴졌습니다. 배포 속도에서 Jenkins가 우세하다고 하지만, 서버가 그렇게 복잡하지는 않기 때문에 크게 문제되지 않을 것 같기도 했습니다.

채팅의 경우 알아야 하는 개념이 많았기 때문에, 다 같이 알아보고 테스트를 진행해보기로 했습니다. 간단한 예제를 WebSocket과 STOMP, Redis를 통해 구현해보긴 했으나, 온전히 이해했다고 보기 어려울 것 같습니다.

📚  배운점

  • Docker 개념 + 사용법
  • Jenkins / GithubActions 적용
  • WebSocket의 개념

🔥  다음 주 계획

  • Nginx → 무중단 배포
  • 테스트 서버와 배포 서버 분리
  • 채팅 기능 테스트
  • 모니터링 기술 도입 (Grafana / Prometheus)
profile
꾸준한 개발자가 되자! Do steady yong

0개의 댓글

관련 채용 정보