본문 바로가기

DevOps4

무중단 배포와 + 여러 배포 전략 중단 배포 방식과 다운타임 서버 한대로 서비스를 운영한다고 가정하면, 현재 서버에는 V1 버전이 실행되고 있는 상황입니다. 그리고 우리는 이번에 여러 기능을 추가한 V2 버전을 새로 개발했고, 이제 사용자들이 V2 버전을 사용할 수 있도록 배포해야 합니다. 배포를 하려면 어떤 과정을 거쳐야할까? 일단 새로 만든 V2 버전 빌드를 서버에 다운로드 합니다. V1 버전과 V2 버전은 서로 같은 포트를 사용하므로, V2 버전을 실행하기 전에 먼저 현재 실행중인 V1 버전의 프로세스를 종료해야 합니다. 이 시점부터 유저는 서비스를 사용할 수 없게되며, 유저가 새로운 V2 버전으로 접속할 수 있도록 바로 V2 빌드를 실행합니다. 로딩과정을 거치고 V2 버전이 정상적으로 실행되면 유저가 다시 정상적으로 서비스를 이용.. 2022. 10. 23.
[Docker] 복잡한 테스트와 배포 1. 전체적 구성도 짤린 부분은 이미지 생성 후 Docker Hub으로 전달 AWS RDB 사용 운영 환경에서는 MYSQL이 도커에서 돌아가는게 아니라 AWS에서 돌아가게 한다. 앞서 docker compose에서 작성했던 mysql 코드를 전부 주석 처리 2. Travis CI Steps # .travis.yml language: generic sudo: required services: - docker before_install: - docker build -t backtony/react-test-app -f ./frontend/Dockerfile.dev ./frontend script: - docker run -e CI=true backtony/react-test-app npm test after_.. 2022. 8. 31.
[Docker] 간단한 테스트와 배포 1. Travis CI Github에서 진행되는 오픈소스 프로젝트를 위한 지속적인 통합 서비스 Github repository에 있는 프로젝트를 특정 이벤트에 따라 자동으로 테스트, 빌드하거나 배포 가능 Private repository의 경우 유료 흐름 로컬 Git에 있는 소스를 Github에 푸시 Github master 저장소에 소스가 push되면 Travis CI에게 소스가 Push되었다고 전달 Travis CI는 업데이트 된 소스를 Github에서 가져옴 깃헙에서 가져온 소스의 테스트 코드를 실행 테스트 코드 실행 후 테스트 성공시 AWS 같은 호스팅 사이트로 보내서 배포 2. travis.yml Travis CI를 이용해서 테스트 코드를 실행하고 애플리케이션을 배포하기 위해서는 travis.y.. 2022. 7. 9.
[Docker] 이미지 만들기 1. 도커 파일이란? 도커 이미지를 만들기 위한 설정파일, 컨테이너가 어떻게 행동해야 하는지에 대한 설정들을 정의해주는 것 도커 파일 만드는 순서 베이스 이미지 명시 (파일 스냅샷에 해당) 추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어 명시(파일 스냅샷에 해당) 컨테이너 시작시 실행 될 명령어 명시 베이스 이미지란? 도커의 이미지는 여러개의 레이어로 구성되어 있고 그중에서 이미지의 기반의 되는 부분이 베이스 이미지 레이어는 중간 단계의 이미지라고 생각 2. 도커 파일 만들기 기본적인 양식은 다음과 같다. # 베이스 이미지 명시, 이미지 생성시 기반이 되는 이미지 레이어 # from 형식 # 태그 명시하지 않으면 가장 최신것으로 자동 다운 FROM baseImage # 도커이미지가 생성되기 전에.. 2021. 7. 21.