DevOps 4

[CICD] Docker + Github Action + Nginx + Spring Boot를 이용한 blue/green 방식 무중단 배포

오늘은 Blue green 배포에 대해 써보겠다.1) blue/green 방식에 대한 이해blue/green 배포 방식은 트래픽을 한번에 구버전에서 신버전으로 옮기는 방식으로 blue와 green을 나란히 구성해 두 상태로 배포 시점에 트래픽을 blue에서 green으로 일제히 전환시킨다.현재 blue 컨테이너 8081포트를 바라보고 있지만green 컨테이너가 활성화 되는 동안에도 요청은 blue 컨테이너로 reverse proxy 되기에 서비스는 중단되지 않는다.  green 컨테이너 가 활성화 되면, blue 컨테이너로 보내던 요청을 green으로 향하도록 바꾸고 nginx를 reload시켜준다.  따라서 nginx는 green 컨테이너 를 바라보고 reverse proxy 시켜준다. 이를 통해 서버..

DevOps 2024.09.04

[CICD] Docker + Github Action + Spring Boot 자동배포환경 구축하기

Docker와 Github Action을 사용하여 CICD를 구축해보겠다.1. Github Action 작성이제 github action의 workflow를 작성한다. github action은 특정레퍼지토리의 동작을 트레킹해서 개발자가 작성한 workflow대로 행동하는 CICD툴이다. 먼저 프로젝트를 올린 깃헙에 Actios에 들어가 새로운 workflow를 생성한다. # github repository Actions 페이지에 나타낼 이름 name: CI/CD # event trigger on: push: branches: [ "main" ] pull_request: branches: [ "main" ] permissions: contents: read jobs: build: runs-on: ubun..

DevOps 2024.01.08

[Docker] Spring Boot EC2 배포하기

EC2 내부의 MySQL Container 와의 연동, 아래글에서 MySQL 컨테이너 생성법 참고:) https://2hy2on.tistory.com/2 Docker Spring Boot EC2 배포하기 - 도커 & MySql 설치 지난번에는 docker를 사용하지 않았는데 이번엔는 docker를 이용해보겠다. https://velog.io/@2hy2on/AWS-EC2-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0 AWS EC2 배포하기 나는 putty에서 접속을 해줬다. Docker를 이용한 방법도 2hy2on.tistory.com 1. Spring Boot - Dockerfile 생성 & 설정 1-1. Spring Boot 프로젝트 경로에 Dockerfile 생성 프로젝트 폴더안에..

DevOps/Docker 2023.08.18

[Docker] Spring Boot EC2 배포하기 - 도커 & MySql 설치

지난번에는 docker를 사용하지 않았는데 이번엔는 docker를 이용해보겠다. https://velog.io/@2hy2on/AWS-EC2-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0 AWS EC2 배포하기 나는 putty에서 접속을 해줬다. Docker를 이용한 방법도 있는데 이는 추후에 다뤄보겠다. 서버에 로그인하기 위해 아이디 값으로 ubuntu를 입력한다. 올바른 IP와 키페어, 아이디 값을 입력했다면 EC2 velog.io 먼저 putty에 접속해준다. 이전 글에 그 과정이 나와있다. 1. AWS - EC2, Docker 설치 1-1. Docker 설치를 위한 apt update sudo apt update 패키지 업데이트나 설치 전에 실행하여 최신 정보를 가져온다. 1-2..

DevOps/Docker 2023.08.15