Actions 모듈
The actions module (@backstage/cli-module-actions)은 Backstage UI를 거치지 않고 명령줄에서 Backstage 작업을 발견하고 실행할 수 있게 해줍니다.
출처: 문서
본문
The actions module (@backstage/cli-module-actions)은 Backstage UI를 거치지 않고 명령줄에서 Backstage 작업(action)을 발견하고 실행할 수 있게 해줍니다.
Backstage 플러그인이 노출할 수 있는 작업 목록은 Well-Known Actions 문서를 참조하세요.
전제 조건 (Prerequisites)
actions 명령을 사용하기 전에 auth login으로 Backstage 인스턴스에 인증해야 합니다. actions 명령은 저장된 자격 증명을 사용해 백엔드와 통신합니다.
모든 actions 명령은 기본적으로 선택된 인스턴스에 대해 작동합니다. 여러 인증 인스턴스가 있다면 --instance 플래그와 인스턴스 이름을 사용해 특정 인스턴스를 대상으로 지정하세요. 인스턴스 이름이 작동하는 방식에 대한 자세한 내용은 Instance Names를 참조하세요.
플러그인 소스 (Plugin sources)
actions 모듈은 작업을 발견할 백엔드 플러그인을 알아야 합니다. 이를 플러그인 소스라고 하며 인증된 인스턴스의 메타데이터로 저장됩니다. 작업을 나열하거나 실행하기 전에 actions sources 명령으로 플러그인 소스를 관리하세요.
actions list
구성된 모든 플러그인 소스에서 사용 가능한 작업을 나열합니다.
Usage: backstage-cli actions list [options]List available actions from configured plugin sourcesOptions: --instance <name> Instance name to use (defaults to the selected instance)
플러그인 소스가 구성되지 않은 경우 명령은 actions sources add로 소스를 추가하라는 힌트를 출력합니다.
예시 (Examples)
사용 가능한 모든 작업 나열:
yarn backstage-cli actions list
이름이 지정된 인스턴스에서 작업 나열:
yarn backstage-cli actions list --instance production
actions execute
작업을 실행합니다. 작업 ID는 <pluginId>:<actionName> 형식을 따릅니다.
Usage: backstage-cli actions execute [options] <action-id>Execute an actionOptions: --instance <name> Instance name to use (defaults to the selected instance)
--instance 플래그 외에도 명령은 작업의 입력 JSON Schema에서 플래그를 동적으로 생성합니다. 스키마의 각 속성은 자동 타입 매핑과 함께 CLI 플래그가 됩니다.
string속성은String플래그가 됩니다.number및integer속성은Number플래그가 됩니다.boolean속성은Boolean플래그가 됩니다.- 복합 타입(객체, 배열, 유니언)은 JSON 입력을 받아들이는
String플래그가 됩니다.
작업 ID와 함께 --help를 사용하면 렌더링된 설명을 포함해 해당 작업에 사용 가능한 전체 플래그 집합을 볼 수 있습니다.
예시 (Examples)
특정 작업에 대한 도움말(동적으로 생성된 플래그 포함) 표시:
yarn backstage-cli actions execute my-plugin:my-action --help
플래그로 작업 실행:
yarn backstage-cli actions execute my-plugin:create-resource --name my-resource --count 3
복합 입력을 JSON 문자열로 전달:
yarn backstage-cli actions execute my-plugin:configure --options '{"timeout": 30, "retries": 3}'
actions sources add
작업 발견을 위해 하나 이상의 플러그인 소스를 추가합니다. 플러그인 소스는 인증된 인스턴스의 메타데이터로 저장됩니다.
Usage: backstage-cli actions sources add <plugin-ids...>Add a plugin source for action discovery
플러그인 소스가 이미 구성되어 있으면 경고와 함께 건너뜁니다.
예시 (Examples)
단일 플러그인 소스 추가:
yarn backstage-cli actions sources add scaffolder
여러 플러그인 소스를 한 번에 추가:
yarn backstage-cli actions sources add scaffolder catalog
actions sources list
현재 인스턴스에 대해 구성된 모든 플러그인 소스를 나열합니다.
Usage: backstage-cli actions sources listList configured plugin sources
예시 (Examples)
yarn backstage-cli actions sources list
actions sources remove
현재 인스턴스에서 하나 이상의 플러그인 소스를 제거합니다.
Usage: backstage-cli actions sources remove <plugin-ids...>Remove a plugin source
플러그인 소스가 구성되어 있지 않으면 경고와 함께 건너뜁니다.
예시 (Examples)
단일 플러그인 소스 제거:
yarn backstage-cli actions sources remove scaffolder
여러 플러그인 소스를 한 번에 제거:
yarn backstage-cli actions sources remove scaffolder catalog
워크플로 예시 (Workflow example)
일반적인 워크플로는 다음과 같습니다.
# 1. Log in to your Backstage instanceyarn backstage-cli auth login --backendUrl https://backstage.example.com# 2. Add plugin sources to discover actions fromyarn backstage-cli actions sources add scaffolder# 3. List available actionsyarn backstage-cli actions list# 4. Get help for a specific actionyarn backstage-cli actions execute scaffolder:create-component --help# 5. Execute the actionyarn backstage-cli actions execute scaffolder:create-component --name my-service --owner team-a