LINE ENGINEERING

Turborepo로 모노레포 개발 경험 향상하기

thumbnail

Turborepo로 모노레포 개발 경험 향상하기

모노레포란?

모노레포(monorepo)는 여러 소프트웨어 프로젝트를 하나의 저장소(repository)에서 관리하는 방식입니다. 이 방식은 코드를 중복하는 것을 피하고, 코드 공유 및 변경사항 추적을 용이하게 합니다.

Turborepo란?

Turborepo는 모노레포를 관리하기 위한 도구 중 하나입니다. 이 도구를 사용하면 모노레포에서 코드를 병렬로 빌드하고 배포하는 등의 작업을 쉽게 처리할 수 있습니다.

Turborepo의 특징

  • 병렬 처리를 통한 개발 속도 향상
  • 의존성 그래프 시각화를 통한 코드 이해도 상승
  • 캐시를 이용한 작업 최적화

간단한 사용법

Turborepo를 사용하려면 먼저 프로젝트를 설치하고, 명령어를 실행해야 합니다. 일반적으로는 아래와 같은 명령어를 사용합니다.

npx @fs/turborepo init

그리고 아래와 같은 명령어를 사용하여 작업을 병렬로 처리합니다.

npx @fs/turborepo task [task 이름]

Real world! Turborepo 적용기

Turborepo를 사용하여 모노레포를 관리할 경우, 개발 효율성 향상 및 코드관리 편의성이 크게 증가합니다. 여기서는 실제로 Turborepo를 적용하면서 해결한 이슈들에 대해 소개합니다.

Turborepo를 사용해 해결하고자 한 이슈들

  1. 의존성 관리의 복잡성
  2. 빌드 및 배포의 어려움
  3. 파이프라인 개선의 필요성

해결 과정

  1. 각 종속 분리: 스크립트 의존성 분리를 통해 복잡성을 해결합니다.
  2. 캐시 이용: 중복되는 빌드 작업들은 캐시를 이용해 건너뛰어 빠른 빌드와 배포를 실현합니다.
  3. 그래프 기능: Turborepo의 프로파일과 그래프 기능을 활용해 스크립트 간 의존성과 배포 과정을 시각화합니다.

결과

Turborepo를 사용하면 개발 속도가 빨라지고, 코드 관리가 용이해집니다. 또한 의존성 그래프와 시각화 기능을 통해 코드 이해도 또한 증가합니다.

마무리

Turborepo를 이용하면 모노레포 개발 경험을 더욱 향상시킬 수 있습니다. 병렬 처리, 의존성 그래프, 캐시 등의 기능으로 작업을 효율적으로 처리하고, 코드 관리를 더 쉽게 할 수 있습니다.