GitLab 제품 개발 및 운영에서 피처 플래그를 사용하는 방법과 유형, 정의, 테스트 방법을 설명합니다.
이 페이지는 개발자들이 피처 플래그를 통해 GitLab 제품의 개발 및 운영에 기여하는 방법을 설명합니다. 자신의 애플리케이션에서 기능을 표시하거나 숨기기 위한 커스텀 피처 플래그를 생성하려면 피처 플래그 생성 을 참조하세요. GitLab에서 사용 가능한 피처 플래그 전체 목록 도 확인할 수 있습니다. 새로 도입된 피처 플래그는 모두 기본적으로 비활성화 되어야 하며 액터와 함께 사용 해야 합니다. 설계 문서: (최신) GitLab 개발 및 운영에서 피처 플래그 사용 개발 피처 플래그 아키텍처 이 문서는 피처 플래그의 내부 사용 개선 에픽의 일환으로 지속적으로 작업 중입니다. 제안 사항은 새 이슈로 등록하고 해당 에픽에 연결해 주세요. 피처 플래그 라이프사이클 개요 를 확인하거나, 피처 플래그 사용 여부를 결정 하는 데 도움이 필요하다면 피처 플래그 라이프사이클 핸드북 페이지를 참조하세요. 피처 플래그를 사용해야 하는 경우 # 핸드북의 "피처 플래그를 사용해야 하는 경우" 섹션으로 이동되었습니다. 외부 API 소비자에서 피처 플래그를 사용하지 않기 # 피처 플래그는 내부 구현 세부 사항이며 공개 API 계약의 일부가 아닙니다. GraphQL metadata.featureFlags 필드나 더 이상 사용되지 않는 featureFlagEnabled 필드를 통해 피처 플래그를 조회하는 외부 API 소비자(IDE 확장, Duo CLI, CI 통합 등)는 특정 위험에 직면합니다. 플래그가 모노리스에서 제거될 때 외부 소비자가 아직 업데이트되지 않을 수 있으며, 이는 사소한 UI 문제부터 고객에게 영향을 미치는 인시던트에 이르기까지 다양한 문제를 초래할 수 있습니다. 외부 API 소비자에서 피처 플래그로 작업할 때는 다음 지침을 따르세요: API 필드 또는 Application Settings를 선호하세요. 가능하다면 외부 API 소비자에서 피처 플래그를 조회하지 않도록 하세요. 대신 소비자가 조회할 수 있는 전용 API 필드나 Application Setting 을 도입하세요. 이 값들은 플래그가 제거된 후에도 유지됩니다. 실패 개방(fail-open) 동작을 구현하세요. 외부 API 소비자에서 피처 플래그를 반드시 사용해야 한다면, "fail-open" 메커니즘을 구현하세요. 롤아웃 마일스톤이 확정되면 소비자는 기본적으로 플래그가 활성화된 것으로 처리해야 합니다. 롤아웃 마일스톤이 확인되는 즉시 소비자를 업데이트하세요. GitLab Language Server의 예시 를 참조하세요. 제거 전에 사용자 업그레이드 패턴을 고려하세요. 외부 API 소비자가 사용하는 플래그를 제거하기 전에, 사용자가 클라이언트를 얼마나 빨리 업데이트하는지 평가하고 제거에 가장 안전한 시점을 결정하세요. 장기 설정에 피처 플래그를 사용하지 않기 # 피처 플래그는 단기적으로 사용되도록 설계되었습니다. 오랜 기간 동안 사용자/그룹/프로젝트별로 기능을 활성화할 수 있도록 피처 플래그를 추가하려는 경우, Cascading Settings 또는 Application Settings