Linux 패키지 폐기 정책

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

Linux 패키지에는 다양한 라이브러리와 서비스가 함께 제공되어 사용자들에게 다양한 구성 옵션을 제공합니다.

라이브러리와 서비스가 업데이트되면 그들의 구성 옵션도 변화하고 오래됩니다. 유지보수성을 높이고 작동 중인 설정을 보존하기 위해 다양한 구성을 제거해야 합니다.

구성 폐기

정책

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

공지

만약 구성이 오래됨이 확인되면, 폐기를 발표합니다:

  • https://about.gitlab.com/blog/의 릴리스 블로그 게시물을 통해. 블로그 게시물 항목에는 폐기 공지와 삭제 대상 일자가 포함됩니다.
  • 설치/재구성 출력을 통해(해당 사항이 있는 경우).
  • https://docs.gitlab.com/의 공식 문서를 통해. 문서 업데이트에는 수정된 구문(적용 가능한 경우)이나 구성 삭제 일자가 포함됩니다.

절차

이 부분에서는 구성 폐기와 삭제에 필요한 단계를 나열합니다.

두 가지 다른 유형의 구성을 구분할 수 있습니다:

  • 민감한: 주요한 서비스 중지(데이터 무결성, 설치 무결성 또는 설치에 접근하는 사용자 방지 등과 같은)를 일으킬 수 있는 구성
  • 일반: 기능을 사용할 수 없게 만들 수 있지만, 설치를 계속해서 사용 가능하게 만들 수 있는 구성(기본 프로젝트/그룹 설정 변경 또는 다른 구성요소와의 오류 통신 등과 같은)

또한, 폐기와 삭제 절차를 구분해야 합니다.

구성 폐기

민감하고 일반적인 구성 둘 다에 대한 폐기 절차는 유사합니다. 유일한 차이점은 삭제 대상 일자입니다.

공통 단계:

  1. omnibus-gitlab 이슈 트래커에 폐기 유형과 기타 필요한 정보를 포함하여 이슈를 생성합니다. deprecation 라벨을 적용합니다.
  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의 구성을 새로운 유효한 구성으로 매뉴얼으로 변경해야합니다. 참고 만약 이 구성 옵션이 민감하고 설치나 데이터의 무결성을 위협할 수 있는 경우, 설치나 업그레이드가 중단됩니다.