기능 플래그
레거시 문서
출처: 문서
본문
레거시 문서
이 섹션은 레거시 플러그인 문서의 일부예요. 새 프론트엔드 시스템 버전은 Feature Flags를 참고하세요. 여기 설명된 API는 라우터블 확장으로 마이그레이션하면서 새 프론트엔드 시스템에서는 대부분 사용되지 않지만, 기존 코드와 백엔드 외부 확장에 대해 여전히 유효해요.
플러그인에는 개발 중 숨기거나 활성화해야 하는 코드 경로가 있을 수 있어요. Backstage의 기능 플래그(feature flag) 시스템은 플러그인에 조건부 논리를 추가하는 방법을 제공해요. 기능 플래그는 Backstage 애플리케이션에서 한 곳에서 제어할 수 있으며, 플러그인은 기능 플래그의 현재 상태에 따라 사용자에게 표시하거나 숨기거나 활성화하거나 비활성화할 콘텐츠를 조건부로 표시할 수 있어요.
기능 플래그 추가
@backstage/core-plugin-api의 createPlugin을 확장해 플러그인에 기능 플래그를 추가할 수 있어요. 플래그를 사용하려는 플러그인에서 다음을 추가하세요.
const examplePlugin = createPlugin({ id: 'carmen', featureFlags: [{ name: 'enable-example' }],});
기능 플래그 평가
기능 플래그의 현재 상태는 useFeatureFlag 훅 또는 getFeatureFlags API 메서드를 통해 접근할 수 있어요.
useFeatureFlag
React 컴포넌트에서 useFeatureFlag 훅을 사용하면 기능 플래그의 현재 값(부울)을 얻을 수 있어요.
import { useFeatureFlag } from '@backstage/core-plugin-api';...const ExampleComponent = () => { const isEnabled = useFeatureFlag('enable-example'); ...}
getFeatureFlags
getFeatureFlags는 @backstage/core-plugin-api의 FeatureFlagsApi의 메서드예요. 이는 useApi 훅으로 접근할 수 있어요. 기능 플래그의 등록 상태를 지원합니다. 단일 useFeatureFlag 훅을 사용하는 것이 일반적으로 더 간단하므로, 이 API는 주로 라우팅 로직을 평가해야 할 때 유용해요.
const exampleComponent = () => { const { getFeatureFlags } = useApi(featureFlagsApiRef); ...}
기능 플래그 활성화 또는 비활성화
기능 플래그는 Backstage의 Sign In 페이지에서 활성화됩니다. 등록된 기능 플래그는 설정 > 기능 플래그 페이지에서도 켜거나 끌 수 있어요.