CD란?
CD(Continuous Deployment)는 코드 저장소에 새로운 소스 코드가 올라오면 빌드와 테스트를 거쳐 실제 운영서버(EC2)에 자동으로 배포하는 과정을 의미한다.
사용자가 일일이 서버에 접속하여 이미지를 내려받고 실행하는 번거로움 없이, Github Actions가 설정에 따라 배포를 한다.
CD는 어떨 때 사용하는가?
CD는 코드 수정이 빈번하게 일어나고 빠른 서비스 반영이 필요한 개발 환경에서 사용된다.
이번 프로젝트 SURA에서는 Github container registry에 빌드된 도커 이미지를 저장하고, EC2서버에서 실행하여 최신버전을 실시간으로 배포하는데 적용했다.
주요 이슈 및 해결
도커 이미지 네이밍 규칙 : 도커 이미지 태그 이름에 대문자가 포함되면 에러가 발생하는걸 확인했다. 이후 소문자로 통일해 해결했다.
http/https 프로토콜 혼선 : 8080포트에서 http로 대기중인 서버에 브라우저가 자동으로 https로 접속을 시도하길래 http주소를 사용하게 했다.
네트워크 인식 오류 : 애플리케이션 컨테이너 내부에서 DB_URL을 localhost로 설정 시 DB 연결에 실패했다. EC2의 프라이빗 IP를 직접 주입하여 호스트의 PostgreSQL에 접근하도록 경로를 설계했더니 연결됐다.
마무리
수동 배포의 번거로움이 사라지고 push 한번에 서버까지 반영되는걸 보며 내 손으로 안정적인 개발 환경을 구축했다는 자신감을 얻었다.
'TIL' 카테고리의 다른 글
| TIL - 결제 금액 조작문제 서버측 이중검증으로 방어하기 (0) | 2026.03.11 |
|---|---|
| TIL - 결제 시스템 구조 재구성 (0) | 2026.03.10 |
| TIL - 결제 로직 변경 (0) | 2026.03.06 |
| TIL - 결제 승인·취소 서비스 구현과 PaymentController API 구성 (0) | 2026.03.05 |
| TIL - 결제 파트 구조 정리 (0) | 2026.03.04 |