Journey of a Frontend Monorepo: Here’s What I Learned

이 글에서는 Jotform에서 프론트엔드 아키텍처를 재구성하면서 배운 점에 대해 이야기합니다.

저희는 애자일 크로스 기능 팀을 보유하고 있으며, 트렁크 기반 개발 접근 방식을 따르고 있습니다. 즉, 메인 브랜치에 직접 업데이트를 푸시하고 있습니다. 메인 브랜치는 항상 프로덕션 준비가 되어 있으며 자동화된 테스트를 통해 보호됩니다. 저희의 규모를 고려할 때, 프로덕션 환경은 하루에 거의 300번 업데이트됩니다.

예전에는 모든 애플리케이션에 대해 서로 다른 레포지토리를 만들고 공유 라이브러리를 위해 몇 개의 레포지토리를 더 만드는 폴리레포 구조를 사용했습니다. 모든 레포지토리에는 고유한 구성이 있었습니다. 레포지토리에 소유자가 있는 경우 별도로 관리하기에 좋았습니다. 우리 회사는 빠르게 성장하고 있었기 때문에 레포지토리 소유권을 잘 관리하지 못했습니다. 팀에 더 많은 개발자를 포함시키다 보니 문제가 생겼습니다. 가장 먼저 직면한 문제는 다음과 같습니다.

Untitled

<aside> 💡 공통을 수정하는 경우 전체에 적용하기까지 많은 시간이 소요되는 구나

</aside>