목록 보기
코드, 어떻게 관리하세요?
프론트엔드

코드, 어떻게 관리하세요?

네이버 페이
네이버 페이
2024년 3월 7일

두줄요약

모노레포로 서비스 레포와 패키지 레포를 통합한 경험을 공유했습니다. turborepo, Changesets, GitHub Actions로 빌드와 배포를 자동화하고 불편한 점도 함께 개선했습니다.

핵심 내용

  • 서비스별 레포와 공통 패키지 레포를 분리해 관리하던 구조에서, 관리 누락과 컨텍스트 스위칭 부담을 줄이기 위해 모노레포로 통합
  • turborepo를 모노레포 빌드 시스템으로 사용하며, turbo.json의 pipeline과 캐싱, dependsOn으로 실행 흐름을 제어
  • pnpm workspace:*로 같은 레포의 패키지를 바라보게 하고, Changesets와 GitHub Actions로 버전 관리·배포·카나리 배포를 자동화
  • CI 시간 증가와 브랜치 관리 복잡도 같은 불편을 줄이기 위해 빌드 스크립트 분리와 테스트 범위 조정도 함께 진행

장단점

  • 장점: 패키지 작업 용이성 향상, 스택 업데이트 누락 감소, 코드 검색·관리 편의성 개선
  • 단점: 브랜치 관리 복잡도 증가, 빌드 시스템 학습 부담 증가

적용해볼 점

  • 레포가 늘어나며 공통 코드 관리가 느슨해지는 팀에서 모노레포 전환 검토
  • 배포·버전 관리가 필요한 패키지에는 Changesets와 자동화 파이프라인 적용
  • CI 병목이 생기면 빌드 분리와 테스트 스킵 전략으로 대응

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...