본문 바로가기
WIKI 기술 지식 베이스

CLI 개요

원문 보기 위키 갱신

CLI 개요 (Overview)

Backstage의 목표 중 하나는 프로젝트 안팎에서 즐거운 개발자 경험을 제공하는 것입니다.

출처: 문서

본문

소개 (Introduction)

Backstage의 목표 중 하나는 프로젝트 안팎에서 즐거운 개발자 경험을 제공하는 것입니다. 새 앱과 플러그인을 만드는 것이 단순해야 하고, 반복 속도가 빨라야 하며, 사용자 지정 도구를 유지 관리하는 오버헤드가 최소화되어야 합니다. 이 목표를 달성하는 일환으로 Backstage는 주로 @backstage/cli 패키지를 통해 전달되는 자체 빌드 시스템과 도구를 제공합니다. @backstage/create-app을 사용해 앱을 만들면 일반적인 설정과 가장 흔한 명령을 실행하기 위한 패키지 스크립트가 이미 준비된 프로젝트를 받게 됩니다.

내부적으로 CLI는 번들링에 Webpack, 패키지 빌드에 Rollup, 테스트에 Jest, 린팅에 eslint를 사용합니다. 또한 앱을 최신 상태로 유지하고 정적 구성을 검증하는 것 같은 Backstage 앱 내 작업을 위한 도구도 포함합니다. 도구에 대한 더 심층적인 내용은 build system 페이지를, 명령 목록은 commands 페이지를 참조하세요.

Backstage 도구는 작동 방식에 있어 독단적이지만(opinionated), 자체 도구를 부분적으로 또는 완전히 사용하는 것도 가능합니다. 예를 들어 CLI는 게시를 위해 플러그인 패키지를 빌드하는 명령을 제공하지만, 출력은 변환된 JavaScript와 TypeScript 타입 선언의 상당히 표준적인 조합입니다. 따라서 필요하면 CLI 명령의 사용을 다른 도구로 확장하거나 대체할 수 있습니다.

Backstage CLI는 의도적으로 빌드 프로세스를 재정의하거나 사용자 정의할 수 있는 많은 훅을 제공하지 않습니다. 이는 넓은 API 표면을 고려하지 않고도 CLI가 발전할 수 있게 하기 위해서입니다. 이를 통해 도구를 반복하고 개선할 수 있으며, 시스템을 더 쉽게 최신 상태로 유지할 수 있습니다.

모듈형 아키텍처 (Modular architecture)

CLI는 독립적인 CLI 모듈 집합으로 구축되며, 각 모듈은 관련 명령 그룹을 제공합니다. CLI Modules 페이지는 기본 모듈을 나열하고 모듈 발견이 어떻게 작동하는지 설명합니다. 또한 모듈을 재정의하거나 제거하여 기본값을 사용자 정의하거나, 조직을 위한 사용자 지정 명령을 추가하기 위해 자체 모듈을 구축할 수도 있습니다.

더 알아보기 (Learn more)