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

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

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

피처 플래그 뒤에 있는 기능을 언제 문서화해야 하는가

비활성화된 피처 플래그 뒤에 있는 기능도 모든 코드베이스에 소개되었어야 하며 문서화되어야 합니다. 더 많은 정보는 이 결정에 이르게 된 토론을 참조하세요. 실험 또는 베타 기능은 일반적으로 피처 플래그 뒤에 있으며 문서화해야 합니다. 더 많은 정보는 실험 또는 베타 기능 문서화를 참조하세요.

기능이 여러 병합 요청에서 구현된 경우 기술 작성자와 계획을 논의하세요.

다음 경우 기능을 문서화하고 지연시킬 수 있습니다.

  • (GitLab 여러 영역에 변경 사항을 반영하는) 방대한 변경 사항, 예: 탐색 변경과 같은 것.
  • 여러 MR을 포함하는 경우.
  • 복수의 문서 페이지에 영향을 미치는 경우.
  • 피처 플래그가 테스트를 위해 활성화되어도 완전히 기능하지 않은 경우.

PM, EM 및 작성자는 문서 업무를 할당하고 예약할 수 있도록 해야 합니다.

코드베이스의 모든 피처 플래그는 문서에 나와있으며, 특정 기능이 완전히 기능하지 않거나 기타로 문서화되지 않았더라도 말입니다.

기능 플래그 문서 추가 방법

기능 플래그를 문서화할 때 다음을 해야 합니다:

이력 텍스트 추가

(예를 들어, 기본적으로 비활성화된 상태에서 활성화된 상태로) 플래그의 상태가 변경되면 변경 사항을 이력에 추가하세요.

가능한 이력 항목은 다음과 같습니다:

> - [GitLab X.X에 도입됨](issue-link)과 함께 `flag_name`이라는 플래그로 . 기본적으로 비활성화됨.
> - GitLab X.X에서 [GitLab.com에서 활성화됨](issue-link).
> - GitLab X.X에서 [GitLab.com에서 활성화됨](issue-link). GitLab.com 관리자 전용.
> - GitLab X.X에서 [자체 호스팅에서 활성화됨](issue-link).
> - GitLab X.Y에서 [일반적으로 사용 가능](issue-link)합니다. 플래그 `flag_name`이 제거됨.

기능 플래그 상태를 설명하는 노트 사용

피처 플래그에 대한 정보는 주제 시작 부분의 FLAG 노트에 있어야 합니다(이력 바로 아래).

노트에는 세 부분이 있으며, 다음 구조를 따릅니다:

FLAG:
<자체 호스팅 GitLab 사용 가능 정보.>
<GitLab.com 사용 가능 정보.>
<GitLab 전용 사용 가능 정보.>
<이 기능은 프로덕션 사용에 준비되지 않았습니다.>

FLAG 노트는 GitLab 문서 사이트에 다음과 같이 렌더링됩니다:

자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용하려면 관리자가 example_flag이라는 플래그를 활성화할 수 있습니다. GitLab.com 및 GitLab 전용에서는 이 기능을 사용할 수 없습니다. 이 기능은 프로덕션 사용에 준비되지 않았습니다.

자체 호스팅 GitLab 사용 가능 정보

기능이… 이 텍스트 사용
사용 가능 자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 있습니다. 기능을 숨기려면 관리자가 [플래그 이름을 비활성화할 수 있습니다](<path to>/administration/feature_flags.md)
사용할 수 없음 자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용하려면 관리자가 [플래그 이름을 활성화할 수 있습니다](<path to>/administration/feature_flags.md)
일부 사용자에게 사용 가능 자체 호스팅 GitLab에서는 기본적으로 이 기능을 일부 사용자에게 사용할 수 있습니다. 모든 사용자에게 기능을 표시하거나 숨기려면 관리자가 [플래그 상태를 변경할 수 있습니다](<path to>/administration/feature_flags.md)
그룹별로 사용 가능 자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 있습니다. 기능을 그룹별로 숨기려면 관리자가 [플래그 이름을 비활성화할 수 있습니다](<path to>/administration/feature_flags.md)
그룹별로 사용할 수 없음 자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 기능을 그룹별로 사용할 수 있도록 하려면 관리자가 [플래그 이름을 활성화할 수 있습니다](<path to>/administration/feature_flags.md)
프로젝트별로 사용 가능 자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 있습니다. 프로젝트별로 또는 전체 인스턴스를 위해 기능을 숨기려면 관리자가 [플래그 이름을 비활성화할 수 있습니다](<path to>/administration/feature_flags.md)
프로젝트별로 사용할 수 없습니다 자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 프로젝트별로 또는 전체 인스턴스를 위해 기능을 사용하도록 하려면 관리자가 [플래그 이름을 활성화할 수 있습니다](<path to>/administration/feature_flags.md)
사용자별로 사용 가능 자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 있습니다. 사용자별로 기능을 숨기려면 관리자가 [플래그 이름을 비활성화할 수 있습니다](<path to>/administration/feature_flags.md)
사용자별로 사용할 수 없습니다 자체 호스팅 GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용자별로 기능을 사용하도록 하려면 관리자가 [플래그 이름을 활성화할 수 있습니다](<path to>/administration/feature_flags.md)

GitLab.com 가용성 정보

If the feature is… Use this text
Available GitLab.com에서는 이 기능을 사용할 수 있습니다. GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.
Available to GitLab.com administrators only GitLab.com에서는 이 기능을 사용할 수 있지만 GitLab.com 관리자만 구성할 수 있습니다.
Unavailable GitLab.com과 GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.

GitLab Dedicated 가용성 정보

If the feature is… Use this text
Available GitLab Dedicated에서는 이 기능을 사용할 수 있습니다.
Unavailable GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.
  • 다음과 같이 GitLab.com 및 GitLab Dedicated를 결합할 수 있습니다: GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.
  • 기능이 자체 관리에 비활성화된 기능 플래그 뒤에 숨겨진 경우, 이 기능은 GitLab Dedicated에서 사용할 수 없습니다.

선택 사항 정보

필요한 경우 다음 문구를 추가할 수 있습니다:

이 기능은 상용 환경에 사용할 준비가 되지 않았습니다.

기능 플래그 문서 예시

다음 예시에서는 기능 플래그의 진행 상황을 보여줍니다.

> - GitLab 13.7에 `forti_token_cloud`이라는 플래그로 소개됨. 기본 상태에서는 자체 관리 GitLab에서 이 기능을 사용할 수 없습니다. 사용하려면 관리자가 `forti_token_cloud`라는 기능 플래그를 [활성화](../administration/feature_flags.md)할 수 있습니다. 이 기능은 상용 환경에 사용할 준비가 되지 않았습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.

기능이 운영 환경에서 활성화되면, 변경 내용을 업데이트할 수 있습니다:

> - GitLab 13.7에 `forti_token_cloud`이라는 플래그로 소개됨. 기본 상태에서는 자체 관리 GitLab에서 이 기능을 사용할 수 있습니다. 사용자별로 기능을 숨기려면 관리자가 `forti_token_cloud`라는 기능 플래그를 [비활성화](../administration/feature_flags.md)할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 있습니다.

그리고, 기능이 완료되어 모든 사용자에게 완전히 사용 가능할 때:

> - GitLab 13.7에 `forti_token_cloud`이라는 플래그로 소개됨. 기본 상태에서는 자체 관리 GitLab에서 이 기능을 사용할 수 있습니다. GitLab 13.8에서 [활성화](https://gitlab.com/issue/etc)됨.
> - GitLab.com에서 GitLab 13.9로 [활성화](https://gitlab.com/issue/etc)됨.
> - GitLab 14.0에서 [일반적으로 사용 가능](이슈 링크). 기능 플래그 `forti_token_cloud`가 제거됨.

긴 이력 단순화

이력은 길어질 수 있지만, 때때로 단순화하거나 항목을 제거할 수 있습니다.

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

  • 이전:

    > - GitLab 14.2에 `ci_include_rules`라는 플래그로 [소개됨](이슈 링크). 기본 상태에서는 자체 관리 GitLab에서 이 기능을 사용할 수 없습니다.
    > - GitLab 14.3에서 [GitLab.com](이슈 링크)에서 활성화됨.
    > - GitLab 14.3에서 [자체 관리](이슈 링크)에서 활성화됨.
    > - GitLab 14.3에서 [GitLab Dedicated](이슈 링크)에서 활성화됨.
    
  • 이후:

    > - GitLab 14.2에 `ci_include_rules`라는 플래그로 [소개됨](이슈 링크). 기본 상태에서는 자체 관리 GitLab에서 이 기능을 사용할 수 없습니다.
    > - GitLab 14.3에서 [GitLab.com, 자체 관리 및 GitLab Dedicated](이슈 링크)에서 활성화됨.
    

기능이 모든 제공에 대해 기본적으로 활성화되어 있는 경우 GitLab.com에서 활성화 항목을 제거할 수 있습니다:

  • 이전:

    > - GitLab 15.6에 `ci_hooks_pre_get_sources_script`라는 플래그로 [소개됨](이슈 링크). 기본 상태에서는 자체 관리 GitLab에서 이 기능을 사용할 수 없습니다.
    > - GitLab 15.9에서 [GitLab.com](이슈 링크)에서 활성화됨.
    > - GitLab 15.10에서 [일반적으로 사용 가능](이슈 링크). 기능 플래그 `ci_hooks_pre_get_sources_script`가 제거됨.
    
  • 이후:

    > - GitLab 15.6에 `ci_hooks_pre_get_sources_script`라는 플래그로 [소개됨](이슈 링크). 기본 상태에서는 자체 관리 GitLab에서 이 기능을 사용할 수 없습니다.
    > - GitLab 15.10에서 [일반적으로 사용 가능](이슈 링크). 기능 플래그 `ci_hooks_pre_get_sources_script`가 제거됨.