피드로 돌아가기
Dev.toDevOps
원문 읽기
Stateless Pipeline 및 History Pruning을 통한 1.5GB 규모 3D 에셋 관리 최적화
How I Built a Stateless 3D Asset Pipeline That Manages 1,000+ Models for Free
AI 요약
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 상태 확인 명령어 사용