피드로 돌아가기
Dev.toDevOps
원문 읽기
OpenAPI Schema 비교를 통한 API Breaking Change 자동 탐지 CLI 도구 설계
How I Built SchemaWatch: A CLI Tool That Catches Breaking API Changes Before Production
AI 요약
Context
API 필드 타입 변경 및 엔드포인트 삭제로 인한 Production 장애 발생을 방지하기 위한 자동화 도구 부재. oasdiff와 같은 기존 도구의 무거운 설정 과정과 단순한 변경 알림 체계로 인한 낮은 실무 활용도 해결 필요.
Technical Solution
- OpenAPI YAML 파일 간의 재귀적 비교를 통한 Depth 기반 Schema Diff Engine 구현
- Endpoint 삭제, Method 제거 등 시스템 중단 유발 항목을 Critical로 분류하는 Severity Classifier 설계
- Field 타입 변경 및 필수 값 전환을 Warning으로 구분하여 CI/CD 파이프라인의 빌드 실패 여부를 결정하는 조건부 Exit Code 로직 적용
- Nested Object의 깊은 계층 구조에서도 타입 불일치를 정확히 식별하는 Recursive Comparison 알고리즘 채택
- 설정 파일 없는 Zero-config 설계를 통한 CLI 진입 장벽 제거 및 빠른 배포 파이프라인 통합 구현
실천 포인트
- API 변경 사항을 Critical, Warning, Info로 세분화하여 CI/CD 빌드 실패 기준 설정 - Nested Schema 구조를 처리하기 위한 재귀적 비교 로직 검토 - OpenAPI 스펙 파일을 단일 진실 공급원(Single Source of Truth)으로 활용한 자동화 검증 프로세스 구축