BLUE - GREEN 배포방식 차용
프론트엔드같은 경우...
npm package 용량이 매우크기 떄문에 배포도중에 ec2 서버에 상당한 무리가 갔습니다. 때문에
- 빌드 결과물이 담긴
.next 폴더 이동
- git pull origin으로 땡겨오기
- npm install (주의점은 첫 설치시 —production으로 설치후 다시 npm install 실행 안그러면 서버 cpu점유율이 100가까이 올라가면서 멈춤)
- pm2 restart
가 담긴 code deploy를 작성했습니다.
사전작업
- db접속정보 oauth2 secret key 등의 정보 config에 env로 설정
- redis 및 postgresql 미리 띄워놓기
- 미리 띄워놓은 redis 및 postgresql의 network를 확인
- backend용 docker-compose.blue.yml, docker-compose.green.yml을 작성
- 확인한 redis 및 postgresql network_mode 적용
- 빌드 결과물은 volume이 아닌 COPY로 가져오기
Golang 빌드 & 배포
조건