리눅스 패키지 사용 중단 정책
리눅스 패키지는 사용자에게 다양한 구성 옵션을 제공하는 여러 라이브러리 및 서비스로 구성되어 있습니다.
라이브러리와 서비스가 업데이트됨에 따라 구성 옵션이 변경되고 구식이 됩니다. 유지 관리성을 높이고 작동하는 설정을 보존하기 위해 다양한 구성을 제거해야 합니다.
구성 사용 중단
정책
리눅스 패키지는 최소한 한 개의 주요 버전에 대해 구성을 유지합니다. 사용 중단된 구성이 다음 주요 릴리스에서 제공된다고 보장할 수 없습니다. 자세한 내용은 예시를 참조하세요.
공지
구성이 구식이 되면 사용 중단을 발표합니다:
-
https://about.gitlab.com/blog/
의 릴리즈 블로그 게시물을 통해. 블로그 아이템에는 사용 중단 공지와 함께 목표 제거 날짜가 포함됩니다. - 설치/재구성 출력(해당되는 경우)을 통해.
-
https://docs.gitlab.com/
의 공식 문서를 통해. 문서 업데이트에는 수정된 구문(해당되는 경우) 또는 구성 제거 날짜가 포함됩니다.
절차
이 섹션에서는 구성 사용 중단 및 제거에 필요한 단계를 나열합니다.
우리는 두 가지 유형의 구성을 구별할 수 있습니다:
- 민감한 구성: 주요 서비스 중단을 초래할 수 있는 구성(예: 데이터 무결성, 설치 무결성 또는 사용자가 설치에 접근하지 못하게 하는 등)
- 일반 구성: 기능을 사용할 수 없게 만들 수 있지만 여전히 설치를 사용할 수 있게 하는 구성(예: 기본 프로젝트/그룹 설정의 변경 또는 다른 구성 요소와의 통신 오류)
우리는 사용 중단 절차와 제거 절차를 또한 구별해야 합니다.
구성 사용 중단
사용 중단 절차는 민감
및 일반
구성 모두에 대해 비슷합니다. 유일한 차이점은 제거 목표 날짜입니다.
공통 단계:
-
omnibus-gitlab
이슈 트래커에서 사용 중단 유형 및 기타 필요한 정보에 대한 세부 정보를 포함하여 이슈를 생성합니다. ‘사용 중단’ 레이블을 적용합니다. - 사용 중단된 구성의 제거 목표를 결정합니다.
- 공지 섹션에 명시된 각 항목에 대한 사용 중단 공지를 작성합니다.
제거 목표:
일반 구성에 대해서는 제거 목표가 항상 다음 주요 릴리스 날짜여야 합니다. 날짜가 알려져 있지 않다면 다음 주요 버전을 참조할 수 있습니다.
민감한 구성은 상황이 조금 더 복잡합니다. 다음 주요 릴리스가 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 |
구성 제거
사용 중단이 발표되고 제거 목표가 설정되면, 이슈의 마일스톤은 제거 목표 버전과 일치하도록 변경되어야 합니다.
이슈의 마지막 댓글에는 반드시 다음이 포함되어야 합니다:
- 릴리스 블로그 포스트 섹션에 대한 텍스트 스니펫
- 변경 사항을 소개하는 문서 MR(또는 스니펫)
- 구성을 제거하는 초안 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
에서 구성을 수동으로 새로운 유효한 구성으로 변경해야 합니다.
참고 이 구성 옵션이 민감하며 설치나 데이터의 무결성을 위협할 수 있는 경우, 설치나 업그레이드가 중단됩니다.