목록 보기
Node.js 라이브러리 배포 파이프라인에 플러그인 시스템 도입기
백엔드

Node.js 라이브러리 배포 파이프라인에 플러그인 시스템 도입기

토스
토스
2024년 8월 14일

두줄요약

100개가 넘는 라이브러리를 관리하기 위해 배포 파이프라인에 플러그인 시스템을 도입한 사례를 소개했습니다. 공통 코어는 유지하면서 레포별 요구사항을 독립적으로 확장하는 구조를 설명했습니다.

핵심 내용

  • 100개 이상 라이브러리를 운영하는 Node.js 모노레포에서 배포 파이프라인이 공통 로직과 개별 요구사항을 동시에 만족하지 못해 복잡해진 상황
  • 공통 배포 라이브러리 수정 없이 확장할 수 있도록 플러그인 시스템을 도입하고, eslint 방식의 plugin spec과 hook 이벤트 구조로 설계
  • 코드젠 검증, 사용량 수집, 메타데이터 경량화, 워크스페이스 의존성 버전 보정 등 다양한 운영 요구를 플러그인으로 분리

적용해볼 점

  • 배포 단계별 이벤트 훅을 정의해 기능을 독립적으로 끼워 넣는 구조
  • 공통 코어는 유지하고 레포별 요구는 플러그인으로 분리하는 운영 방식
  • public API 사용 시점과 의존성 버전을 자동 추적해 버전 불일치 문제를 줄이는 접근

다음 읽기

같은 회사의 연관 글

모노리포 희망편, 절망의 리포가 희망의 리포로 부활하기까지 걸린 1년

토스는 대규모 프론트엔드 모노리포의 의존성 파편화를 해결하기 위해 카탈로그를 도입했습니다. 이를 통해 설치 속도와 개발 경험을 개선하고 최신 플랫폼 변경을 안정적으로 전파했습니다.

토스
토스
아키텍처

댓글 0

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

댓글을 불러오는 중...