로딩
요청 처리 중입니다...

우테코 Car-ffeine #9 - 카페인 팀의 무중단 배포

 우테코 Car-ffeine #9 - 카페인 팀의 무중단 배포

안녕하세요! 카페인팀의 제이입니다.

저희 카페인 팀에서 무중단 배포를 진행했습니다. 어떤 과정으로 진행을 했는지 작성해보도록 하겠습니다!

기존 배포 방식과 문제점 먼저 카페인 팀의 기존 배포 방식은 다음과 같습니다. Target branch에 push가 되면 Github Actions가 작동합니다.

Target branch의 소스 코드가 빌드되어서 Docker Hub에 올라가게 됩니다. Github Actions의 self-hosted runner를 통해 infra 서버에서 prod 서버로 접근하여서 기존에 띄워진 서버를 다운 시킵니다.

Docker Hub에 업로드한 Docker image를 pull해서 서버를 가동시킵니다. 이런 과정으로 배포 스크립트가 작성되어 있습니다.

하지만 이 방법은 기존 서버를 다운 시키고 새로운 서버를 띄울 때 다운 타임이 존재한다는 문제점이 있습니다. 사용자 입장에서는 잘 사용하고 있는데 갑자기 서비스가 작동되지 않는다면 서비스에 대한 신뢰성이 낮아질 ...