개발/Devops

    [Devops] spring boot 블루/그린 무중단 배포 (gitlab ci, docker, nginx)

    spring boot로 무중단 배포를 이용하려고 한다. spring boot도 code deploy, elastic beanstalk 등등 무중단 배포 방법은 많다. 그중에서도 블루/그린 방법으로 docker를 이용하고 nginx도 공부할겸 nginx로 배포하려고 한다. 먼저 배포 과정은 아래와 같다. (1) gitlab에 push (2) 8080에 실행되고 있는 spring boot 멈춘 후 업데이트 (3) 8080 업데이트 후 실행 (4) 8081 멈춘후 업데이트 이러한 배포 방식을 블루/그린 이라고 하며 블루 컨테이너를 주로 보여주고 업데이트시에만 그린 컨테이너를 이용하는 방법이다. 그렇게 하여 기존 제공되는 서비스는 멈추지 않고 변경사항을 적용할 수 있다. 나는 업데이트 적용 후 green을 멈추..

    [Devops] react 무중단 배포 (gitlab ci, s3, cloudfront)

    react 프로젝트를 gitlab ci 를 이용하여 s3에 저장 후 cloudfront에 배포한 경험을 정리한다. 깃허브액션, 도커를 이용하여 자동배포는 설정해본적이 있지만 서비스가 중단되지 않는 무중단 배포는 아니었다. 이번엔 서비스가 중단되지 않는 무중단 배포를 설정해보려고 한다. react를 무중단 배포 하는 방법은 여러가지가 있다. Cloudfront로 ec2를 따로 관리 안해줘도 된다는 점과 protect 정책, cdn 등 많은 걸 지원해줘서 cloudfront로 결정했다. 배포 과정은 다음과 같다. 1. gitlab github와는 다르게 gitlab은 runner를 따로 설치해서 사용해야 한다. 그래서 먼저 gitlab runner를 등록해야 한다. 처음 이부분을 모르고 계속 실패했다가 나중..

    [Devops] github actions로 자동 배포 설정하기 (react docker 배포)

    [AWS] github actions로 자동 배포 설정하기 (github 배포) AWS 배포한 후 추가로 코드를 수정했을 때 자동으로 서버에 적용해주면 좋을것 같다라는 생각으로 시작했다. 찾아보니 여러 툴이 있었지만 가장 간편하게 보였던 github action을 이용해봤다. 아래 diary-blockchain.tistory.com github 배포에 이어서 도커배포도 해봤다. 대부분 비슷하지만 도커 설치 하고 actions부분에서 실행하는 코드가 살짝 다르다. name: Docker Image CD on: push: branches: - prod jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - ..

    [Devops] github actions로 자동 배포 설정하기 (nodejs 배포)

    AWS 배포한 후 추가로 코드를 수정했을 때 자동으로 서버에 적용해주면 좋을것 같다라는 생각으로 시작했다. 찾아보니 여러 툴이 있었지만 가장 간편하게 보였던 github action을 이용해봤다. 아래는 완성 코드이다. name: Continuous Deployment on: push: branches: - prod jobs: build: runs-on: ubuntu-latest steps: - name: Deploy to prod uses: appleboy/ssh-action@master with: host: ${{ secrets.HOST_DEV }} username: ${{ secrets.USERNAME }} password: ${{ secrets.PASSWORD }} port: 22 script: ..