배포 매뉴얼

Spring, React, Nginx를 이용하여 CICD 무중단 배포를 구축하는 방법

  1. Gitlab Push Event가 일어나면
  2. Jenkins에서 WebHook을 통해 자동으로 빌드를 실행
  3. Jenkins에서 각각의 React(Nginx), Spring 프로젝트 내부의 DockerFile를 이용하여 Dockerimage 생성(tar 압축파일)
  4. Jenkins에서 SSH 연결을 통해 AWS에 DockerContainer 생성
  5. 외부에서 접속 : 도커 컨테이너에 올라간 Nginx에서 React와 Spring을 각각 '/', '/api'로 구분지어 연결

EC2 기본

Docker 설치

참고링크

[Docker] Ubuntu에 Docker 설치하기

👉🏻 사전 패키지 설치

sudo apt update
sudo apt-get install -y ca-certificates \\
    curl \\
    software-properties-common \\
    apt-transport-https \\
    gnupg \\
    lsb-release

👉🏻 gpg 키 다운로드

sudo mkdir -p /etc/apt/keyrings
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \\
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] <https://download.docker.com/linux/ubuntu> \\
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

👉🏻 Docker 설치