피드로 돌아가기
Your README Deserves Real Numbers
Dev.toDev.to
DevOps

GitHub API 기반 Zero-Dependency 트래픽 배지 자동화 설계

Your README Deserves Real Numbers

Alberto Arena2026년 6월 5일3intermediate

Context

GitHub Insights의 14일 데이터 보존 제한과 이력 부재로 인한 트래픽 가시성 부족 문제 발생. 외부 서버 기반 카운팅 도구의 경우 인프라 의존성 및 데이터 신뢰성 저하라는 Trade-off 존재.

Technical Solution

  • GitHub Action 기반의 스케줄러를 통한 GitHub Traffic API 데이터 정기 추출 구조 설계
  • Third-party 서버 배제 및 전용 브랜치(traffic-data)에 SVG 배지와 JSON 원본 데이터를 커밋하는 Self-hosted 데이터 저장 방식 채택
  • API의 14일 Rolling Window 특성으로 인한 중복 집계 문제를 날짜 기반 Deduplication 로직으로 해결하여 데이터 정합성 확보
  • PAT(Personal Access Token)를 통한 권한 제어 및 Repository Secret 활용으로 보안성 강화
  • Zero runtime dependency 원칙을 적용하여 Node 20+ 내장 fetch 및 테스트 러너만으로 구성한 경량 런타임 환경 구축
  • 의존성 주입(Dependency Injection) 패턴을 적용한 Pure Function 설계로 네트워크 및 파일시스템과 분리된 테스트 가능 구조 구현

- 외부 서비스 의존성을 줄이기 위해 Git 저장소 자체를 데이터 스토리지로 활용하는 정적 사이트 생성 방식 검토 - API의 데이터 윈도우 중복 구간을 처리하는 Deduplication 로직 설계 여부 확인 - 외부 라이브러리 최소화를 통해 CI/CD 파이프라인의 실행 속도와 보안성을 높이는 Zero-dependency 전략 적용

원문 읽기