
프론트엔드
코드, 어떻게 관리하세요?
두줄요약
모노레포로 서비스 레포와 패키지 레포를 통합한 경험을 공유했습니다. turborepo, Changesets, GitHub Actions로 빌드와 배포를 자동화하고 불편한 점도 함께 개선했습니다.
핵심 내용
- 서비스별 레포와 공통 패키지 레포를 분리해 관리하던 구조에서, 관리 누락과 컨텍스트 스위칭 부담을 줄이기 위해 모노레포로 통합
- turborepo를 모노레포 빌드 시스템으로 사용하며,
turbo.json의 pipeline과 캐싱,dependsOn으로 실행 흐름을 제어 - pnpm
workspace:*로 같은 레포의 패키지를 바라보게 하고, Changesets와 GitHub Actions로 버전 관리·배포·카나리 배포를 자동화 - CI 시간 증가와 브랜치 관리 복잡도 같은 불편을 줄이기 위해 빌드 스크립트 분리와 테스트 범위 조정도 함께 진행
장단점
- 장점: 패키지 작업 용이성 향상, 스택 업데이트 누락 감소, 코드 검색·관리 편의성 개선
- 단점: 브랜치 관리 복잡도 증가, 빌드 시스템 학습 부담 증가
적용해볼 점
- 레포가 늘어나며 공통 코드 관리가 느슨해지는 팀에서 모노레포 전환 검토
- 배포·버전 관리가 필요한 패키지에는 Changesets와 자동화 파이프라인 적용
- CI 병목이 생기면 빌드 분리와 테스트 스킵 전략으로 대응
