
배포를 우아하게 - 원-클릭(one-click) 배포
두줄요약
GitHub Deployment API로 런타임별 배포 도구를 추상화해 원클릭 배포를 구성했습니다.\n사용자는 동일한 UI로 배포 전략과 상태를 관리하며, 도구 결합도를 낮췄습니다.
문제 상황
- Kubernetes, AWS Lambda, AWS S3 등 런타임별 배포 도구 증가에 따른 사용 방식과 파이프라인 이해 부담
- 단일 배포 도구로 모든 런타임 요구사항을 충족하기 어려운 환경
구조와 흐름
- GitHub Deployment API를 공통 인터페이스로 사용한 배포 요청·상태 확인 추상화
- Gitploy UI의 배포 트리거, GitHub 이벤트 전달, Spinnaker·Drone CI의 런타임별 배포 수행 구조
- Deployment Status API의 상태·설명·로그 URL을 통한 배포 진행 상황 반영
선택 이유
- 배포 도구와 시스템의 강결합 완화 및 도구 교체 가능성 확보
- ref, environment, auto_merge, required_contexts, payload를 통한 환경 검증·이미지 확인·전략 선택 지원
성능/운영 포인트
- dev·staging·prod별 배포 이력 수집과 변경 사항 추적
- 롤링 업데이트·카나리 배포 선택, 롤백·락·리뷰 기능의 공통 UI 제공

