피처 플래그 뒤에 배포된 문서 기능

GitLab은 피처 플래그를 사용하여 자체 기능의 배포를 롤아웃합니다.

피처 플래그의 상태가 변경될 때 변경한 개발자는 문서를 업데이트해야 합니다.

피처 플래그 뒤에 기능 문서화 시기

사용된 모든 기능은 코드베이스에 소개되었습니까 시작으로 코드 베이스에 소개되는 기능은 사용을 권장하며 해당 기능이 비활성화된 플래그 뒤에 있는 경우에도 문서화해야 합니다. 자세한 내용은 이 결정으로 이어진 토론을 참조하십시오. 실험 또는 베타 기능은 일반적으로 플래그 뒤에 있으며 문서화해야합니다. 자세한 내용은 실험 또는 베타 기능 문서화를 참조하십시오.

기능이 여러 Merge Request에서 구현될 때, 기술 작성자와 계획을 토론하세요.

다음과 같은 경우에 기능을 문서화를 지연시킬 문서화 문제를 만들 수 있습니다.

  • 넓은 범위의 (GitLab의 여러 영역에서 변경 사항을 적용) 변경사항을 동반한 경우, 예: 네비게이션 변경 사항.
  • 여러 MRs를 포함 하는 경우.
  • 몇 페이지 이상의 문서에 영향을 미치는 경우.
  • 피처 플래그가 테스트를 위해 활성화되지 않을 경우.

PM, EM 및 작성자는 필요한 문서 작업을 할당하고 예약해야 합니다.

코드베이스에 있는 모든 피처 플래그는 문서에 나열되어 있습니다. 심지어 기능이 완전히 기능하지 않거나 다른 방식으로 문서화되지 않았을 때에도요.

피처 플래그 문서 추가 방법

피처 플래그를 문서화하려면 다음을 수행하세요.

히스토리 텍스트 추가

피처 플래그의 상태가 변경될 때(예: 기본적으로 비활성화에서 기본적으로 활성화로), 히스토리에 변경 내용을 추가하십시오.

가능한 히스토리 항목은 다음과 같습니다.

> - [GitLab X.X 버전에](../../administration/feature_flags.md) `flag_name`이라는 플래그로 도입. 기본적으로 비활성화됨.
> - [GitLab X.X에서 GitLab.com에서 활성화됨](issue-link).
> - [GitLab X.X에서 Self-Managed형 및 GitLab Dedicated에서 활성화됨](issue-link).
> - [GitLab X.X에서 GitLab.com, Self-Managed형 및 GitLab Dedicated에서 활성화됨](issue-link).
> - [GitLab X.Y에서 일반적으로 사용 가능](issue-link). 피처 플래그 `flag_name`이 제거됨.

이러한 항목은 모든 시나리오에 맞지 않을 수 있습니다. 특정 그룹, 프로젝트 또는 사용자 하위 집합에만 활성화된 플래그가 있을 수 있음을 고려하십시오.

그러한 경우에 다음과 같은 히스토리 항목을 사용할 수 있습니다.

> - GitLab X.X에서 GitLab.com에서는 일부 사용자를 위해 활성화됨.

플래그 노트 추가

이 피처 플래그 노트를 히스토리 바로 아래 주제에 추가하세요.

최종 문장(프로덕션용으로 사용할 준비가 되지 않은)은 선택 사항입니다.

플래그:
이 기능의 가용성은 피처 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하십시오.
이 기능은 테스트를 위해 사용 가능하지만, 프로덕션용으로 사용할 준비가 되지 않았습니다.

이 참고사항은 GitLab 문서 사이트에 다음과 같이 렌더링됩니다.

플래그: 이 기능의 가용성은 피처 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하십시오. 이 기능은 테스트를 위해 사용 가능하지만, 프로덕션용으로 사용할 준비가 되지 않았습니다.

히스토리 예제

다음 예제는 피처 플래그의 진행 상황을 보여줍니다. 변경 시마다 히스토리를 업데이트하세요.

> - GitLab 13.7에서 [GitLab X.X 버전에](../../administration/feature_flags.md) `forti_token_cloud`이라는 플래그로 도입. 기본적으로 비활성화됨.

플래그:
이 기능의 가용성은 피처 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하십시오.

기능이 GitLab.com에서 기본적으로 활성화될 때:

> - GitLab 13.7에서 [GitLab X.X 버전에](../../administration/feature_flags.md) `forti_token_cloud`이라는 플래그로 도입. 기본적으로 비활성화됨.
> - GitLab 13.8 버전에서 GitLab.com에서 활성화됨.

플래그:
이 기능의 가용성은 피처 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하십시오.

기능이 모든 제공에 대해 기본적으로 활성화될 때:

> - GitLab 13.7에서 [GitLab X.X 버전에](../../administration/feature_flags.md) `forti_token_cloud`이라는 플래그로 도입. 기본적으로 비활성화됨.
> - GitLab 13.8 버전에서 GitLab.com에서 활성화됨.
> - GitLab 13.9에서 Self-Managed형 및 GitLab Dedicated에서 활성화됨.

플래그:
이 기능의 가용성은 피처 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하십시오.

플래그가 제거될 때 일반 사용 가능 항목을 추가하세요. 또한 플래그 노트도 삭제될 것입니다.

> - GitLab 13.7에서 [GitLab X.X 버전에](../../administration/feature_flags.md) `forti_token_cloud`이라는 플래그로 도입. 기본적으로 비활성화됨.
> - GitLab 13.8 버전에서 GitLab.com에서 활성화됨.
> - GitLab 13.9에서 Self-Managed형 및 GitLab Dedicated에서 활성화됨.
> - GitLab 14.0에서 일반적으로 사용 가능해짐. 피처 플래그 `forti_token_cloud`이 제거됨.

긴 히스토리 단순화

히스토리가 길어질 수 있지만 때때로 항목을 간소화하거나 삭제할 수 있습니다.

같은 릴리스에서 발생한 경우 항목을 결합할 수 있습니다.

  • 이전:

    > - GitLab 14.2에서 [GitLab X.X 버전에](../../administration/feature_flags.md) `ci_include_rules`이라는 플래그로 도입. 기본적으로 비활성화됨.
    > - GitLab 14.3에서 GitLab.com, Self-Managed형, GitLab Dedicated에 활성화됨.
    
  • 이후:

    > -  GitLab 14.2에서 [GitLab X.X 버전에](../../administration/feature_flags.md) `ci_include_rules`이라는 플래그로 도입. 기본적으로 비활성화됨.
    > - GitLab 14.3에서 GitLab.com, Self-Managed형, GitLab Dedicated에 활성화됨.
    

기능이 모든 제공에 대해 기본적으로 활성화 되고 플래그가 제거되는 경우 GitLab.com에서 활성화됨 항목은 삭제합니다.

  • 이전:

    > - GitLab 15.6에서 [GitLab X.X 버전에](../../administration/feature_flags.md) `ci_hooks_pre_get_sources_script`이라는 플래그로 도입. 기본적으로 비활성화됨.
    > - GitLab 15.7에서 GitLab.com에서 활성화됨.
    > - GitLab 15.8에서 Self-Managed형 및 GitLab Dedicated에서 활성화됨.
    > - GitLab 15.9에서 일반 사용 가능해짐. 피처 플래그 `ci_hooks_pre_get_sources_script`이 제거됨.
    
  • 이후:

    > - GitLab 15.6에서 [GitLab X.X 버전에](../../administration/feature_flags.md) `ci_hooks_pre_get_sources_script`이라는 플래그로 도입. 기본적으로 비활성화됨.
    > - GitLab 15.8에서 Self-Managed형 및 GitLab Dedicated에서 활성화됨.
    > - GitLab 15.9에서 일반 사용 가능해짐. 피처 플래그 `ci_hooks_pre_get_sources_script`이 제거됨.