개발환경

BackEnd


포팅매뉴얼

Docker, Jenkins, SpringBoot, React, Nginx를 이용하여 CICD 무중단 배포

MSA형태로 각 기능의 서비스 별로 다른 브랜치와 젠킨스 프로젝트를 가지고 있음.

Untitled

  1. ec2환경에 도커 설치

    #사전 패키니 gpg Key 다운
    sudo apt update
    sudo apt-get install -y ca-certificates \\
        curl \\
        software-properties-common \\
        apt-transport-https \\
        gnupg \\
        lsb-release
    
    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
    
    #도커 설치
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io docker-compose
    
    
  2. docker-compose를 사용하여 젠킨스 컨테이너 생성

    vim docker-compose.yml
    
    #------docker-compose.yml 내부
    version: '3'
    
    services:
        jenkins:
            image: jenkins/jenkins:lts
            container_name: jenkins
            volumes:
                - /var/run/docker.sock:/var/run/docker.sock
                - /jenkins:/var/jenkins_home
            ports:
                - "9090:8080"
            privileged: true
            user: root