- 개인 프로젝트 (Github Actions)
- 전체적인 흐름

- 장점
- 대부분의 CI/CD 방식은 전체 프로젝트를 통째로 전달하는 방식을 사용함.
- Git pull을 활용하여 변경된 부분의 프로젝트 코드에 대해서만 업데이트하기 때문에 CI/CD 속도가 빠름.
- CI/CD 툴로 Github Actions 만 사용하기 때문에 인프라 구조가 간단.
- 단점
- 빌드 작업을 EC2에서 직접 진행하여, 운영하는 서버의 성능에 영향을 미칠 수 있음.
- Github 계정 정보가 해당 EC2에 저장되어 보안적으로 문제가 있음.
- 주로 사용되는 프로젝트
- 개인 프로젝트에서 CI/CD 를 심플하고 빠르게 적용시키고 싶을 때 활용한다.
- 전체적인 흐름
- 일반 프로젝트 (Github Actions, SCP)
- 전체적인 흐름

- 장점
- 빌드, 테스트 작업을 Github Actions 에서 진행 후 EC2에 빌드 파일을 전달하여 서버 성능에 영향을 거의 주지 않음.
- CI/CD 툴로 Github Actions 만 사용하기 때문에 인프라 구조가 복잡하지 않음.
- 단점
- 무중단 배포를 구현하거나 여러 EC2인스턴스에 배포를 해야하는 상황인 경우, 직접 Github Actions에 스크립트를 작성하여 구현해야 함.
- 주로 사용되는 프로젝트
- 현업에서 초기 서비스 구축 시, 주로 활용됨.
- 처음 서비스 구현 시, 대규모 서비스에 적합한 구조보다는 확장 필요성이 있다고 느낄 때 인프라를 고도화한다.
- 복잡한 인프라 구조가 다양한 곳에서 금액이 소모됨.
- 인프라 구조 변경
- 에러 발생 시, 트러블 슈팅
- 팀원의 인프라 구조 이해 시간
- 기능 추가 및 수정 시 들어가는 시간
- 금전적인 비용.
- 전체적인 흐름
- 확장성을 고려한 프로젝트 (Code Deploy)
- 전체적인 흐름

- 장점
- Code deploy를 사용하는 이유
- 여러대의 서버이더라도 AWS EC2에 배포를 쉽게 할 수 있도록 도움
- 무중단 배포 기능이 내재되어 있어 쉽게 무중단 배포를 진행 가능..
- 서버가 여러대여도 쉽게 자동 배포를 구축할 수 있다.
- Code deploy를 사용하는 이유
- 단점
- 인프라 구조가 복잡해진다. 관리 비용, 유지비수 비용, 복잡도 등이 증가한다.
- 주로 사용되는 프로젝트
- 서버를 여러대 이상 구동해야 하거나, 무중단 배포가 중요할 때 주로 사용됨
- 전체적인 흐름
'Server&load > CI CD' 카테고리의 다른 글
| Github Actions 기본 문법 및 사용 방법 정리 (0) | 2025.06.24 |
|---|---|
| CI/CD 를 배우는 이유 (0) | 2025.06.23 |