배포
[AWS] Elastic Beanstalk + Github Actions 사용해서 Spring boot CI/CD 파이프라인 구축하기
동아리 스터디의 일환으로 시작된 Beanstalk 으로 CI/CD 파이프라인 구축하기 처음 써보는거라 확실히 어렵지만 EC2 생성하고 RDS 생성하고 https 설정해주고... 하던 시절과 비교하면 확실히 배포 속도가 엄청 빠르긴 하다 물론 그 과정에서 삽질을 엄청나게 하긴 했지만... 하지만 결론적으로는 빌드 시간이 많이 오래 걸리기도 하고 배포서버와 개발서버 그리고 혹시 모르지만 웹까지 하나의 EC2 환경에서 배포하고 싶어서 JAR 환경에서 Docker 환경으로 이동할 것이다 JAR 이나 WAR 로 배포하는 것은 물론 좋지만 여러 EC2 인스턴스를 사용하기엔 돈이 모자란 ^^.... 가난한 대학생에겐 하나의 EC2에서 멀티 컨테이너로 돌리는게 더 나을 것이라는 판단이다 그래도 공부한게 아까우니까 까먹..
[Github] Github Actions로 CI/CD 개발 주기 자동화하기 - 2 (스프링 Gradle 빌드 + 도커 푸시)
서버를 어떻게 효율적으로 띄울까 하다가 여러 방식을 찾아보았는데 개발 서버와 운영 서버를 방식이 가장 일반적이었다 하지만 돈없는 가난한 대학생은 여러 서버를 띄울 형편이 안되니... 로컬에서 테스트 코드까지 빡세게 돌린 것들만 하나의 운영 서버에 띄우기로 결심했다 고로 프론트엔드, 백엔드, 배포 레포지토리 3개로 나누었고 아키텍쳐는 다음과 같다 📚 서비스 아키텍쳐 아직 프론트는 건들지 않아서 백엔드 서버와 배포 단계만 진행중이다 backend/main 브랜치에 push가 일어나면 깃헙 액션을 통해 스프링 도커 이미지를 빌드해 도커 허브에 push 한다 이후 deploy/main 브랜치에 push가 일어나거나, 직접 action 을 실행시키면 배포 쉘 스크립트 및 docker-compose를 통해 배포가 ..