피드로 돌아가기
How I Built a Stateless 3D Asset Pipeline That Manages 1,000+ Models for Free
Dev.toDev.to
DevOps

Stateless Pipeline 및 History Pruning을 통한 1.5GB 규모 3D 에셋 관리 최적화

How I Built a Stateless 3D Asset Pipeline That Manages 1,000+ Models for Free

Sudhanshu Ambastha2026년 4월 14일4intermediate

Context

Git 저장소 내 대용량 Binary 파일 누적으로 인한 Repository Bloat 및 히스토리 비대화 문제 발생. 수동 최적화 프로세스와 높은 컨트리뷰션 진입 장벽으로 인한 개발 효율성 저하 상황.

Technical Solution

  • JSON 기반 Source of Truth 설계를 통한 Stateless Asset Pipeline 구축
  • GitHub Web Interface 기반의 JSON 수정 방식을 통한 컨트리뷰션 진입 장벽 제거 및 보안 검증 강화
  • GitHub Actions 기반의 자동화 엔진을 통한 Draco Compression 및 WebP 변환 등 최적화 프로세스 통합
  • Orphan Branch 생성 및 Force-push를 활용한 정기적 History Pruning 기법으로 Binary 히스토리 누적 방지
  • Sparse-Checkout 전략 도입을 통한 개발자 로컬 환경의 클론 비용 최소화
  • git status --porcelain 기반의 변경 감지를 통해 GitHub Actions 내 Step 간 파일 상태 동기화 문제 해결

1. 대용량 바이너리 관리 시 Git History Pruning 또는 LFS 도입 검토

2. 외부 기여자 입력값의 보안을 위해 직접 파일 업로드 대신 Metadata 정의서(JSON 등) 기반의 파이프라인 설계

3. CI/CD 환경에서 Step 간 파일 변경 사항을 정확히 추적하기 위해 구체적인 Git 상태 확인 명령어 사용

원문 읽기