- 기능이 왜 폐기될 수 있나요?
- 폐기된 기능에 대한 커뮤니티 기여는 어떻게 처리되나요?
- 언제 기능을 제거/변경할 수 있나요?
- 소규모 릴리스에서 breaking change 요청
- 폐기 및 제거 문서 업데이트
- 관련 문서 업데이트
GitLab 기능의 폐기
이 페이지에는 GitLab 기능을 제거하거나 파괴적인 변경을 언제하고 어떻게 하는지에 대한 정보가 포함되어 있습니다.
이 페이지에서 사용된 용어에 대한 자세한 내용은 용어를 참조하십시오.
기능이 왜 폐기될 수 있나요?
폐기는 폐기된 기능 제거 일정에 공지되어야 합니다.
폐기는 제거를 의도하고 있는 제거에서 예정된 세 번째 마일스톤보다 늦어도 공지되어야 합니다.
폐기에 대한 공지는 폐기를 위한 코드 변경을 도입하는 Merge Request에 포함시키지 마십시오. 폐기 항목을 만들려면 별도의 MR을 사용하십시오. 폐기 항목을 만드는 단계에 대한 자세한 내용은 폐기 문서 업데이트를 참조하십시오.
폐기된 기능에 대한 커뮤니티 기여는 어떻게 처리되나요?
폐기된 기능에 대한 개발은 1순위/심각도 1 버그 수정으로 제한됩니다. 폐기된 기능에 대한 커뮤니티 기여는 마일스톤 계획 중에 우선 순위를 매기기 어렵습니다.
그러나 GitLab에서는 우리 팀 구성원에게 권한을 부여합니다. 따라서 해당 기여와 관련된 팀 구성원은 자유롭게 검토하고 Merge할 수 있습니다.
언제 기능을 제거/변경할 수 있나요?
기능이나 구성은 주요 릴리스에서만 제거/변경할 수 있습니다.
이들은 미리 폐기되어야 합니다.
API 제거의 경우 GraphQL 및 GitLab API 지침을 참조하십시오.
구성 제거의 경우 옴니버스 폐기 정책을 참조하십시오.
버전 및 업그레이드 세부 정보는 릴리스 및 유지 관리 정책을 참조하십시오.
소규모 릴리스에서 breaking change 요청
GitLab Self-managed 패키지는 의미론적으로 버전이 지정되어 있으며, 우리의 유지 관리 정책을 준수합니다. 이 프로세스는 베타 또는 실험적이 아닌 기능 및 API에 적용됩니다.
이 유지 관리 정책은 우리 고객이 소프트웨어 산업에서 널리 사용되는 명확하고 예측 가능한 패턴을 수립하여 혼란스러운 변화로부터 준비할 수 있도록 하기 위한 것입니다. GitLab은 많은 고객에게 중요한 비즈니스 응용 프로그램이기 때문에 예상치 못한 변경은 피해를 주고 신뢰를 훼손시킬 수 있습니다.
소규모 릴리스에서 breaking change을 도입하는 것은 정책에 어긋난다는 이유로 금지되어 있습니다. 왜냐하면 이는 고객이 비즈니스에 영향을 미치지 않도록 하기 위해 매 번의 소규모 릴리스마다 breaking change을 확인해야 하도록 요구하는 무작위성을 도입하기 때문입니다. 이것은 우리의 목표와 일치하지 않으며 강력히 권장되지 않습니다.
우리의 정책을 위배하는 것, 특히 소규모 릴리스에서 breaking change을 하려는 것은 GitLab이 breaking change을 지연시키는 것이 고객에게 미치는 부정적 영향이 소규모 릴리스에서 이를 배포하는 것보다 상당히 더 큰 경우에만 예외로 허용됩니다. 예외가 부여되는 가장 중요한 판단 지표는 고객 결과입니다.
소규모 릴리스에서 breaking change을 하려면 PM 및 EM은 예외를 요청하기 위해 아래 프로세스를 따라야 합니다:
- breaking change 예외 템플릿을 사용하여 제품 이슈 추적기에 새로운 이슈 열기
- 제목은
breaking change 예외: 설명
형식을 따라야 합니다. - breaking change의 영향 평가 제시
- 영향을 받는 고객 수는?
- breaking change 없이 동일한 결과를 얻을 수 있나요? (즉, 제거 없이)
- breaking change을 다음 주요 릴리스나 다음 예정된 업그레이드 중지까지 기다릴 수 있나요? (예: 데이터베이스 시나리오)
- 변경으로 인해 동일한 작업을 수행할 대체 방법은 무엇인가요?
- 고객이 대체 방법으로 마이그레이션하기가 얼마나 어려운가요? 마이그레이션 계획이 있나요?
- 통신 계획 제시 및 명확한 시간표 수립, 대상 소규모 릴리스 포함
- 관련된 고객에게 정보를 공유할 수 있도록 지원 및 고객 성공팀에 통지
- 이 지역의 개발 담당이자 제품 관리 총괄 부사장, 개발 총괄 부사장 및 고객 지원 총괄 부사장의 승인 획득
- CPO 및 CTO의 승인 획득
폐기 및 제거 문서 업데이트
폐기 및 제거 문서는
gitlab/data/deprecations
에 위치한 YAML 파일에서 생성됩니다.
YAML 파일이 추가, 편집 또는 제거될 때 폐기 및 제거 페이지를 업데이트하려면:
- 명령줄에서
gitlab-org/gitlab
프로젝트의 로컬 복제로 이동합니다. -
data/deprecations
아래에서 YAML 파일을 생성, 편집 또는 제거합니다. -
폐기 및 제거 문서를 컴파일합니다:
bin/rake gitlab:docs:compile_deprecations
-
필요한 경우 다음으로 문서가 최신인지 확인할 수 있습니다:
bin/rake gitlab:docs:check_deprecations
- 업데이트된 문서를 커밋하고 변경 사항을 푸시합니다.
- 폐기 및 제거 템플릿을 사용하여 Merge Request을 생성합니다.
관련 핸드북 페이지:
- https://handbook.gitlab.com/handbook/marketing/blog/release-posts/#deprecations-removals-and-breaking-changes
- https://handbook.gitlab.com/handbook/marketing/blog/release-posts/#update-the-deprecations-doc
관련 문서 업데이트
기능이 폐기되고 제거될 때, 관련 문서를 업데이트하세요.