Node.js 라이브러리 배포 파이프라인에 플러그인 시스템 도입기
toss.tech
토스 노드 챕터는 모노레포에만 100개가 넘는 라이브러리를 운영하고 있습니다. 모노레포 배포 파이프라인에서 공통적인 부분은 유지하면서 다양한 요구사항을 만족하기 위해, Deploy CLI에 옵션이 계속해서 추가되는 문제가 있었습니다.
이를 해결하기 위해, 토스에선 ESLint Plugin 시스템을 참고하여 Deploy Plugin 시스템을 만들었습니다. Deploy CLI 옵션이 늘어나는 대신, 플러그인을 사용하면 라이브러리 별 배포 요구사항을 직접 구현할 수 있다고 합니다.
글에서 소개한 플러그인 중 하나를 말씀드리면, deploy-plugin-collect-usage
플러그인은 라이브러리가 어디서 얼마나, 어떻게 쓰이는지 쉽게 추적하기 위한 플러그인입니다. 기능이 변경될 때 어떤 라이브러리 어느 버전, 어떤 기능을 어느 서비스에서 쓰는지에 대한 정보를 수집합니다.
100개가 넘는 거대한 모노레포를 운영하고 있는 점도 놀랍고, 플러그인 시스템을 구축해서 문제를 해결한 점도 흥미롭네요.
https://toss.tech/article/nodejs_pipeline_plugin
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 8월 14일 오후 2:44
1. 2년, 3년 앞을 미리 생각해야 합니다. 2~3년 앞을 생각한다면 왜 오늘 100개의 결정을 해야 할까요?
제가 한국에서 직장 생활을 시작하고 가장 먼저 배운 것은 아이러니하게도 야근이었습니다. 신입이었던 제게 야근은 선택의 문제가 아니었거든요. 선배들에게 야근은 너무나 당연한 루틴이었고, 저녁 5시가 되면 "퇴근 안 해?"가 아니라 "저녁 뭐 먹을까?"라는 질문을 던졌습니다. 누가 정해놓은 것처럼 부장님이 퇴근해야 과장님이, 과장님이 퇴근해야 대리님이, 대리님이 퇴근해야 비로서 저 같은 신입도 퇴근 생각을 할 수 있었습니다.
... 더 보기지
... 더 보기안
... 더 보기