-
Notifications
You must be signed in to change notification settings - Fork 3
2. CD 파이프라인
Soap edited this page Dec 4, 2024
·
1 revision
기본적으로 Naver Cloud Platform 을 사용하기에,
NCP 에서 제공하는 Server 와 Container Registry 를 이용해 배포를 진행했다.
먼저 NCP SSH 설정 을 진행해,
AWS 와 동일한 방식으로 접속해 배포할 수 있도록 했다.
백엔드 배포 워크플로우 로직은 다음과 같다.
- Dokerfile 사용해 도커 이미지 빌드
- 내부적으로 NestJS 어플리케이션을 빌드해, js 파일만 배포에 사용
- 이후 캐싱을 적용해 빌드 시간 단축을 시도할 예정
- NCP Container Registry 에 로그인, 이미지 push
- NCP Server 에 ssh 접속,
deploy-backend.sh
실행- -> 이미지 pull, 기존 컨테이너 종료, 새 컨테이너 실행
서버에서 컨테이너 포트는 8080:8080 으로 매핑하고,
Nginx 에서 api.dailyroad.site
서브도메인에 대한 요청을 리버스 프록시로 전달하도록 설정했다.
간단히 certbot 이용해 ssl 인증서를 적용했다.
프론트엔드 배포 워크플로우는 보다 간단하다.
- 리엑트 어플리케이션 빌드
- scp 를 이용해 서버에
dist
디렉토리를 전송 -
/usr/share/nginx/html/
에 위치시켜 Nginx 로 서빙
해당 스크립트