Linux 패키지 폐지 정책

Tier: Free, Premium, Ultimate Offering: Self-Managed

Linux 패키지는 다양한 라이브러리와 서비스를 포함하여 사용자에게 다양한 구성 옵션을 제공합니다.

라이브러리와 서비스가 업데이트되면 그 구성 옵션도 변경되어 사용되지 않게 됩니다. 유지보수성을 높이고 작동하는 설정을 보존하기 위해 다양한 구성이 제거되어야 합니다.

구성 폐지

정책

Linux 패키지는 적어도 주요 버전을 유지하는 동안 구성을 유지합니다. 폐지된 구성이 다음 주요 릴리스에서 사용 가능하리라고 보장할 수 없습니다. 자세한 내용은 예시를 참조하세요.

공지

만약 구성이 사용되지 않게 된다면, 우리는 폐지사항을 발표합니다:

  • https://about.gitlab.com/blog/의 릴리스 블로그 게시물을 통해. 블로그 게시물에는 폐지 공지와 대상 제거일이 포함됩니다.
  • 설치/재구성 출력(해당하는 경우)
  • https://docs.gitlab.com/의 공식 문서를 통해. 문서 업데이트에는 수정된 구문(해당하는 경우) 또는 구성 제거일이 포함됩니다.

절차

이 섹션에서는 폐지와 구성 제거를 위해 필요한 단계 목록을 나열합니다.

우리는 두 가지 다른 유형의 구성을 구별할 수 있습니다:

  • 민감한: 주요 서비스 중단을 유발할 수 있는 구성(데이터 무결성, 설치 무결성 또는 설치에 접근하지 못하게 하는 것과 같은)
  • 보통: 기능을 사용할 수 없게 만들 수는 있지만 여전히 설치를 사용할 수 있는 구성(기본 프로젝트/그룹 설정 변경 또는 다른 구성 요소와의 의사소통 오류와 같은)

또한 폐지와 제거 절차를 구별해야 합니다.

구성 폐지

폐지 절차는 민감한보통 구성 모두에 대해 유사하며, 유일한 차이점은 제거 대상 날짜입니다.

공통 단계:

  1. omnibus-gitlab 이슈 트래커에 해당 구성 유형과 기타 필수 정보를 포함하여 이슈를 작성하세요. 폐지 라벨을 적용하세요.
  2. 폐지된 구성에 대한 제거 대상을 결정하세요.
  3. 공지 섹션에 기술된대로 각 항목에 대한 폐지 공지를 작성하세요.

제거 대상:

일반 구성의 경우, 제거 대상은 항상 다음 주요 릴리스의 날짜여야 합니다. 날짜를 알 수 없는 경우, 다음 주요 버전을 참조할 수 있습니다.

민감한 구성의 경우, 상황은 약간 더 복잡합니다. 다음 주요 릴리스가 2개의 마이너 릴리스만큼 떨어져 있다면 민감한 구성을 다음 주요 릴리스에서 제거하지 않도록 노력해야 합니다(이 숫자는 보안 백포트 릴리스 정책과 일치하도록 선택됨).

일부 예시를 보려면 아래 표를 참조하세요:

구성 유형 공지된 폐지 최종 마이너 릴리스 제거
민감한 10.1.0 10.9.0 11.0.0
민감한 10.7.0 10.9.0 12.0.0
보통 10.1.0 10.9.0 11.0.0
보통 10.8.0 10.9.0 11.0.0

구성 제거

폐지가 발표되고 제거 대상이 설정되면, 이슈의 마일스톤을 제거 대상 버전에 맞추도록 변경해야 합니다.

이슈의 최종 코멘트는 반드시 다음이 포함되어야 합니다:

  1. 릴리스 블로그 게시물 섹션에 대한 텍스트 스니펫
  2. 변경 사항을 소개하는 문서 MR(또는 스니펫)
  3. 구성을 제거하는 드래프트 MR 또는 수행해야 할 작업에 대한 세부 정보. 더 많은 정보는 폐지 메시지 추가하기에서 확인할 수 있습니다.

예시

/etc/gitlab/gitlab.rb에서 사용자 구성은 GitLab 버전 10.0에서 도입되었습니다. gitlab_rails['configuration'] = true입니다. GitLab 버전 10.4.0에서는 이 구성 옵션의 변경이 요구되어 새로운 구성 옵션은 gitlab_rails['better_configuration'] = true입니다. 개발 팀은 이전 구성을 새 구성으로 번역하고 폐지 절차를 시작합니다.

이것은 이 두 가지 구성 옵션이 GitLab 버전 10을 통해 유효함을 의미합니다. 다시 말하면, GitLab 10.8.0에서 여전히 gitlab_rails['configuration'] = true를 설정하고 있다면, 기능은 여전히 gitlab_rails['better_configuration'] = true로 설정한 것과 동일하게 작동합니다. 그러나 이전 버전의 구성을 설정하면 설치/업그레이드/재구성 실행의 끝에 폐지 공지가 인쇄됩니다.

GitLab 11에서는 gitlab_rails['configuration'] = true가 더 이상 작동하지 않으며, /etc/gitlab/gitlab.rb에서 구성을 수동으로 변경해야 합니다. 참고 이 구성 옵션이 민감하고 설치나 데이터의 무결성을 위험에 빠뜨릴 수 있으면, 설치나 업그레이드가 중단됩니다.