Inspiration 신승혁님께서 무중단 배포 관련하여 리서치한 내용에서 영감을 받아 실제 포스 웹 프로젝트에 적용해본 작업을 정리해보았습니다. 승혁님 감사합니다. 역시 내 멘티
승혁님의 원글은 아래 링크에서 확인가능합니다.
CI/CD 무중단 배포 (with jenkins,docker,nginx)
오타 / 의견 환영합니다! 댓글이나 DM으로 알려주세요!
docker-compose 로 blue/green 구성하기 현재의 POS 프로젝트 서버는 Nginx + Php-fpm 도커 컨테이너 구성으로 되어 있습니다. Blue/Green 배포 전략을 위해서는 Blue/Green 역할의 Php-fpm 컨테이너가 필요했습니다.
/docker/docker-compose.production.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 services: pos-php: image: gitlab.corp.sellmate.co.kr:5005/sellmate-pos/web-v2/web container_name: pos-php build: context: . dockerfile: docker/php.Dockerfile env_file: - .env working_dir: /var/www # volumes: 생략 pos-nginx: container_name: pos-nginx image: gitlab.corp.sellmate.co.kr:5005/sellmate-pos/web-v2/nginx # volumes: 생략 # ports: 생략 volumes: #생략 기존의 production 구성입니다. 실제로는 docker-compose.yml + docker-compose.production.yml의 조합으로 이루어지지만 설명을 위해 필요한 부분만 남겼습니다.
이 구성은 아래와 같이 변경되었습니다.
...