InfoGrab DocsInfoGrab Docs

기능 분류

GitLab에서 Sidekiq 워커, Batched Background 마이그레이션, 컨트롤러 액션, API 엔드포인트, RSpec 예제에 feature_category 속성을 선언하는 방법을 설명합니다.

각 Sidekiq 워커, Batched Background 마이그레이션, 컨트롤러 액션, 테스트 예제 , API 엔드포인트는 feature_category 속성을 선언해야 합니다. 이 속성은 각 항목을 기능 카테고리 에 매핑합니다. 이는 오류 예산 관리, 알림 라우팅, 팀 귀속을 위해 수행됩니다. 기능 카테고리 목록은 config/feature_categories.yml 파일에서 확인할 수 있습니다. 이 파일은 GitLab 핸드북 및 기타 GitLab 리소스에서 사용되는 stages.yml 데이터 파일로부터 생성됩니다. config/feature_categories.yml 업데이트 # GitLab Stage, 그룹, 제품 카테고리에 새 기능이 추가되는 경우가 있습니다. 이런 경우 scripts/update-feature-categories 를 실행하면 config/feature_categories.yml 을 자동으로 업데이트할 수 있습니다. 이 스크립트는 stages.yml 을 페치하고 파싱하여 새 버전의 파일을 생성하며, 이 파일은 리포지터리에 커밋해야 합니다. Observability 팀이 현재 feature_categories.yml 파일을 유지 관리합니다. 파일이 오래되면 Slack을 통해 자동으로 알림이 전송됩니다. Gemfile # 각 Ruby gem 의존성에 대해 해당 의존성을 필요로 하는 기능 카테고리를 지정해야 합니다. 이를 통해 소유권을 명확히 하고, 해당 기능을 소유한 그룹에 업그레이드를 위임할 수 있습니다. Tooling 기능 카테고리 # Developer Experience 내부 툴링에는 feature_category: :tooling 을 사용합니다. 예를 들어, knapsack 과 gitlab-crystalball 은 모두 CI에서 RSpec 테스트 스위트를 실행하는 데 사용되며 특정 제품 그룹에 속하지 않습니다. Test platform 기능 카테고리 # 엔드-투-엔드 테스트 인프라와 관련된 gem은 Development Experience 섹션에서 유지 관리합니다. feature_category: :test_platform 라벨을 사용합니다. 예를 들어, capybara 는 UI를 포함하는 테스트를 실행하기 위해 Gemfile 과 qa/Gemfile 모두에 정의되어 있습니다. 이는 특정 제품 그룹에 속하지 않습니다. Rails platform 기능 카테고리 # Rails 핵심 프레임워크 gem은 주로 Backend Maintainer가 유지 관리합니다. 예를 들어, rails 와 zeitwerk 는 :rails_platform 으로 정의해야 합니다. Shared 기능 카테고리 # :shared 기능 카테고리는 gem에 대해 더 이상 지원되지 않습니다 . gem의 적절한 유지 관리를 위한 노력의 일환으로, 모든 gem은 특정 기능 카테고리를 사용해야 합니다. gem의 소유권이 불분명한 경우 #backend_maintainers 채널에서 도움을 요청하세요. Sidekiq 워커 # 아래와 같이 feature_cat