shell script
요즘 쉘 스크립트를 업무에 종종 활용하는데 좋은 것 같다. 마이크로 프론트엔드 구축시 lerna 또는 yarn berry를 쓰지 않아도 버튼 하나로 모든 앱의 패키지를 각각 설치할 수 있고, 빌드 또한 실행할 수 있다. 그리고 빌드를 병렬로 실행하는 것도 가능하다. 현재 내가 관리하고 있는 프로젝트는 하나의 앱에서 versioning 폴더를 만들고 다른 앱에 해당 versioning 폴더로 빌드 결과물들 중 일부 파일들을 내보내고 있는데, 이 때문에 순서대로 앱들이 빌드되어야 했다. 즉, 앱이 점점 많아지고 규모가 커진다면 그만큼 빌드 시간이 늘어나게되는 구조였다. 이를 node fs/promises를 활용해 루트 폴더에서 versioning을 담당하게 하고, versioning이 끝나면 shell script로 각 앱에서 병렬로 빌드를 하도록 수정했다. 덕분에 빌드 시간이 대략 30%정도 단축되었다. (로컬 평균 56초 -> 37초) (빌드 머신 평균 210초 -> 153초) 아직 빌드머신에서의 빌드 타임은 길긴하지만, 모노레포 환경의 마이크로 프론트엔드 서비스에서 shell script로도 빌드 타임을 줄일 수 있다는걸 알게된 것이 좋았다.