Skip to content

배포 환경

김경원 edited this page Nov 18, 2021 · 3 revisions

AWS

  • Docker 구조
┬─ docker-compose.yml : docker-compose 설정 파일, `spring`, `redis`, `nginx`관련 볼륨 설정이 들어가 있음
├─ firebase : firebase 키 값 저장 장소
├─ mysql : mysql의 데이터를 저장할 볼륨 장소
├─ nginx ─ nginx.conf: nginx 관련 설정이 들어감. Request와 Response를 중개하는 Proxy 서버
├─ proxy ─ proxy.conf: nginx의 proxy 관련 설정이 들어간 폴더, 
└─ redis : redis의 데이터를 저장할 볼륨 장소

URI

  • Spring : /api
    • Swagger : /swagger
  • Jenkins : /jenkins

Jenkins

  • 파이프라인으로 총 3단계의 구성을 가짐
  1. (Hook을 통해 알람이 오면) Git checkout
  2. Gradle로 빌드 테스트와 이미지를 생성함
  3. 성공 했다면 새로운 이미지로, 실패 시 기존 이미지로 docker run
  • image

배포 시 알람

  • branch에 새로운 commit이 감지되면 새롭게 빌드 후 배포를 시작함

  • 빌드와 배포 시 메신저로 알람

  • 배포 성공 시

image

  • 배포 실패 시

image