⭕ 목적

이 작업을 수행하게 된 이유에는 두 가지 필요성이 있었다.

첫 번째는 Frontend 개발자가 작업할 때, Endpoint에 쉽게 접근할 수 있어야 했고, 두 번째는 Backend 개발자가 편리하게 코드를 build, 배포할 수 있어야 했다.

새로운 기술에 도전해보고 싶었던 내가 이 부분을 맡아 개발하게 되었다.

⭕ 해결 과정

CI/CD와 Server 배포는 다음과 같은 단계를 통해 완성되었다.

Untitled

  1. Back-End Framework인 Spring boot에서 기능 개발 후, GitHub Repository로 Push!
  2. Push 요청이 실행되면 자동으로 Workflows 설정에 따라 GitHub Actions 실행
  3. Workflows 1단계 : Project File build → Zip File 생성
  4. Workflows 2단계 : 생성된 Zip File을 AWS S3 저장소에 업로드
  5. Workflows 3단계 : AWS CodeDeploy에 배포 요청
  6. Workflows 4단계 : CodeDeploy에서 S3에 있는 Zip File을 EC2에 배포
  7. EC2 인스턴스 주소를 통해 Back-End Server에 접속 가능