Skip to content

2. CD 파이프라인

Soap edited this page Dec 4, 2024 · 1 revision

CD

기본적으로 Naver Cloud Platform 을 사용하기에,

NCP 에서 제공하는 Server 와 Container Registry 를 이용해 배포를 진행했다.

먼저 NCP SSH 설정 을 진행해,
AWS 와 동일한 방식으로 접속해 배포할 수 있도록 했다.

백엔드 배포 워크플로우 로직은 다음과 같다.

  1. Dokerfile 사용해 도커 이미지 빌드
    • 내부적으로 NestJS 어플리케이션을 빌드해, js 파일만 배포에 사용
    • 이후 캐싱을 적용해 빌드 시간 단축을 시도할 예정
  2. NCP Container Registry 에 로그인, 이미지 push
  3. NCP Server 에 ssh 접속, deploy-backend.sh 실행
  4. -> 이미지 pull, 기존 컨테이너 종료, 새 컨테이너 실행

서버에서 컨테이너 포트는 8080:8080 으로 매핑하고,

Nginx 에서 api.dailyroad.site 서브도메인에 대한 요청을 리버스 프록시로 전달하도록 설정했다.

간단히 certbot 이용해 ssl 인증서를 적용했다.

프론트엔드 배포 워크플로우는 보다 간단하다.

  1. 리엑트 어플리케이션 빌드
  2. scp 를 이용해 서버에 dist 디렉토리를 전송
  3. /usr/share/nginx/html/ 에 위치시켜 Nginx 로 서빙
    해당 스크립트

오늘의 길

핵심 경험

장소 검색 기능 개선
마커 클러스터링
테스트 코드
로그 모니터링 시스템
React 컴포넌트로 구글 지도 요소 관리하기
CI/CD 파이프라인
코스 아이템 순서 수정 방식 개선

개발 문서

팀 문화

기록 모음

🌤️ 데일리 스크럼
📑 회의록
🚸 멘토링 일지
🏖️ 그룹 회고
Clone this wiki locally