CD
[Github] Github Actions로 CI/CD 개발 주기 자동화하기 - 3 (AWS EC2 서버에서 배포)
2편에 이어서 3편도 계속 EC2 와 RDS 프리티어를 구매한 후 세팅까지 완료 자세한 세팅은 나중에 시간 나면 올려보도록 하겠읍니다... 💻 작업 환경 Windows + MacOS AWS EC2 + RDS Spring Boot (Gradle) PostgreSQL Redis Docker 🚀 실제 운영 서버에 배포하기 사실 실 배포는 아니지만 어쨌든 개발 서버와 운영 서버를 통합했기 때문에 운영 서버라고 하는게 맞겠지 Deploy 전용 레포지토리를 만들어주고 프록시를 위한 nginx와 쉘 스크립트를 셋팅해준다 📝 deploy.sh #!/bin/bash # Installing docker engine if not exists if ! type docker > /dev/null then echo "docker..
[Github] Github Actions로 CI/CD 개발 주기 자동화하기 - 2 (스프링 Gradle 빌드 + 도커 푸시)
서버를 어떻게 효율적으로 띄울까 하다가 여러 방식을 찾아보았는데 개발 서버와 운영 서버를 방식이 가장 일반적이었다 하지만 돈없는 가난한 대학생은 여러 서버를 띄울 형편이 안되니... 로컬에서 테스트 코드까지 빡세게 돌린 것들만 하나의 운영 서버에 띄우기로 결심했다 고로 프론트엔드, 백엔드, 배포 레포지토리 3개로 나누었고 아키텍쳐는 다음과 같다 📚 서비스 아키텍쳐 아직 프론트는 건들지 않아서 백엔드 서버와 배포 단계만 진행중이다 backend/main 브랜치에 push가 일어나면 깃헙 액션을 통해 스프링 도커 이미지를 빌드해 도커 허브에 push 한다 이후 deploy/main 브랜치에 push가 일어나거나, 직접 action 을 실행시키면 배포 쉘 스크립트 및 docker-compose를 통해 배포가 ..
[Github] Github Actions로 CI/CD 개발 주기 자동화하기 - 1 (깃헙 액션 사용법)
🔍 CI / CD ? 📌 CI (Continuous Integration) 지속적인 통합 [코드작성 -> 테스트 -> 빌드 -> 배포 -> 버그수정] 이라는 일련의 사이클을 단축시키고 자동화시키는 방법 📌 CD (Continuous Delivery 또는 Continuous Deployment) 지속적인 배포 어플리케이션에 적용한 변경 사항을 테스트를 거쳐 레포지토리에 업로드 되는 것 Continuous Delivery 는 마지막 단계인 개발환경에서 운영환경으로의 배포를 개발자가 수동으로 해줌 Continuous Deployment 는 이러한 수동 처리 없이 자동으로 운영환경 배포까지 자동으로 해줌 Github Actions 는 이러한 CI/CD를 가능하게 해주는 툴 중 하나이고 Jenkins, Travi..