GitLab 기능 폐기

이 페이지에는 GitLab 기능을 제거하거나 파괴적인 변경을 언제 하는지에 대한 정보가 포함되어 있습니다.

이 페이지에서 사용된 용어에 대한 자세한 내용은 용어를 참조하십시오.

언제 기능을 폐기할 수 있나요?

기능 폐기는 기능 폐기 예정 스케줄에 발표되어야 합니다.

기능 폐기는 제거를 의도한 제거에서 세 번째 마일스톤 이전에 발표되어야 합니다.

기능 폐기에 대한 공지사항을 기능 폐기에 대한 코드 변경을 소개하는 병합 요청에 포함시키지 마십시오. 폐기 항목을 생성하기 위해 별도의 MR을 사용하십시오. 폐기 항목을 생성하는 단계는 폐기 문서 업데이트를 참조하십시오.

폐기, 지원 종료, 제거 프로세스

폐기된 기능에 대한 커뮤니티 기여는 어떻게 처리됩니까?

폐기된 기능의 개발은 우선순위 1 / 심각도 1 버그 수정으로 제한됩니다. 폐기된 기능에 대한 커뮤니티 기여는 마일스톤 계획 중에 우선순위를 받기 어렵습니다.

그러나 GitLab에서는 팀원에게 대리권을 부여합니다. 따라서 기여와 관련된 팀 구성원은 자유롭게 검토 및 병합을 결정할 수 있습니다.

언제 기능을 제거/변경할 수 있나요?

기능 또는 구성은 주요 릴리스에서만 제거/변경할 수 있습니다.

이러한 변경은 사전에 폐기될 필요가 있습니다.

API 제거의 경우 GraphQLGitLab API 가이드라인을 참조하십시오.

구성 제거의 경우 Omnibus 폐기 정책을 참조하십시오.

버전 및 업그레이드 세부 정보는 릴리스 및 유지 정책을 참조하십시오.

소규모 릴리스에서 파괴적인 변경 요청

GitLab 자체 관리 패키지는 의미론적 버전이 지정되었으며 당사의 유지 정책을 준수합니다. 이 프로세스는 일반적으로 사용 가능한 기능 및 API에 적용됩니다. 베타 또는 실험적인 기능은 해당되지 않습니다.

이 유지 정책은 고객이 소프트웨어 산업 전반에서 널리 사용되는 명확하고 예측 가능한 패턴을 구축하여 혼란스러운 변경으로부터 고객이 피해를 입히고 신뢰를 침해하는 것을 준비할 수 있게끔 하기 위해 존재합니다. 많은 고객에게 있어서 GitLab은 비즈니스적으로 중요한 응용 프로그램이며, 예기치 않은 변경은 피해를 입히고 신뢰를 침해시킬 수 있습니다.

소규모 릴리스에서 파괴적인 변경을 도입하는 것은 정책에 어긋난 것입니다. 왜냐하면 이것은 고객을 방해할 수 있고 고객이 비즈니스에 영향을 미치지 않도록 하기 위해 각 소규모 릴리스마다 파괴적인 변경을 확인하기 위한 요소를 도입하는 것을 의미하기 때문입니다. 이는 당사의 목표와 부합하지 않으며, 이는 GitLab와의 비즈니스를 가능한 쉽게 만드는 것과 협의가 되지 않습니다.

본인 정책을 어겼을 때, 특히 소규모 릴리스에서 파괴적인 변경을 배포할 때는, GitLab은 파괴적인 변경을 연기하는 것이 고객에게 악영향을 미치는 것보다 지연하는 것이 전반적으로 더 부정적인 영향을 미칠 수 있다고 확인하는 상황에서 예외를 부여하는 경우에만 적용됩니다. 예외를 부여하는 데에 있어서 가장 중요한 기준은 고객 결과입니다.

소규모 릴리스에서 파괴적인 변경을 도입하려면 PM 및 EM이 아래 프로세스를 따라 예외를 요청해야 합니다:

  1. Breaking Change Exception 템플릿을 사용하여 제품 이슈 추적기에 새로운 이슈를 엽니다
  2. 제목은 파괴적인 변경 예외: 설명 형식을 따라야 합니다.
  3. 파괴적인 변경에 대한 영향 평가를 제공하십시오.
    1. 몇 명의 고객이 영향을 받습니까?
    2. 파괴적인 변경 없이 동일한 결과를 얻을 수 있습니까? (즉, 제거 없이)
    3. 파괴적인 변경을 다음 주요 릴리스나 다음 예정된 업그레이드 중지까지 기다릴 수 있습니까? 예를 들어 데이터베이스 시나리오인 경우
    4. 고객이 변경으로 인해 동일한 작업을 수행할 수 있는 대체 방법은 무엇입니까?
    5. 대체 방법으로 이동하는 것이 얼마나 어렵습니까? 이민 계획이 있습니까?
  4. 목표 소규모 릴리스를 포함하여 명확한 타임라인 및 커뮤니케이션 계획을 제공하십시오.
  5. 지원 및 고객 성공부에 알림으로서 관련 고객과 정보를 공유할 수 있도록 하십시오.
  6. 해당 항목에 대한 개발 부사장, 제품 관리 본부장, 고객 지원 부사장의 승인을 얻으십시오.
  7. CPO 및 CTO로부터 승인을 얻으십시오.

업데이트된 폐지 및 제거 문서

폐지 및 제거 문서는 gitlab/data/deprecations에 위치한 YAML 파일에서 생성됩니다.

YAML 파일이 추가, 편집 또는 제거되었을 때 폐지 및 제거 페이지를 업데이트하려면 다음을 수행합니다:

  1. 명령줄에서 gitlab-org/gitlab 프로젝트의 로컬 복제본으로 이동합니다.
  2. data/deprecations에서 YAML 파일을 만들거나 편집하거나 제거합니다.
  3. 폐지 및 제거 문서를 컴파일합니다:

    bin/rake gitlab:docs:compile_deprecations
    
  4. 필요한 경우 다음으로 문서가 최신 상태인지 확인할 수 있습니다:

    bin/rake gitlab:docs:check_deprecations
    
  5. 업데이트된 문서를 커밋하고 변경 사항을 푸시합니다.
  6. 폐지 및 제거 템플릿을 사용하여 병합 요청을 생성합니다.

관련 핸드북 페이지:

관련 문서 업데이트

기능이 폐지되거나 제거될 때 관련 문서를 업데이트하세요.