Linux 패키지 폐기 정책
Linux 패키지에는 사용자에게 다양한 구성 옵션을 제공하는 여러 가지 라이브러리와 서비스가 포함되어 있습니다.
라이브러리와 서비스가 업데이트되면 구성 옵션이 변경되어 사용되지 않게 됩니다. 유지 관리성을 높이고 작동 중인 설정을 보존하기 위해 다양한 구성이 제거되어야 합니다.
구성 폐기
정책
Linux 패키지는 적어도 주요 버전 1개를 유지합니다. 폐기된 구성이 다음 주요 릴리스에서 사용 가능할 수 있음을 보장할 수 없습니다. 자세한 내용은 예제를 참조하세요.
공지
구성이 사용되지 않게 되면 다음과 같이 폐기를 발표합니다:
-
https://about.gitlab.com/blog/
의 릴리스 블로그 게시물을 통해. 블로그 게시물 항목에는 폐기 공지와 제거 대상 날짜가 포함됩니다. - 설치/재구성 출력을 통해(해당되는 경우).
-
https://docs.gitlab.com/
의 공식 문서를 통해. 문서 업데이트에는 수정된 구문(해당되는 경우)이나 구성 제거 날짜가 포함됩니다.
절차
이 섹션에서는 구성 폐기 및 제거에 필요한 단계를 나열합니다.
두 가지 다른 유형의 구성을 구별할 수 있습니다:
- 민감한: 주요 서비스 중단을 초래할 수 있는 구성(데이터 무결성, 설치 무결성 또는 설치에 액세스할 수 없도록 하는 구성 등)
- 일반: 기능을 이용할 수 없게 만들 수 있지만 여전히 설치를 사용할 수 있는 구성(기본 프로젝트/그룹 설정 변경 또는 다른 컴포넌트와의 미스 통신 등)
또한 폐기 및 제거 절차를 구별해야 합니다.
구성 폐기
민감한 및
일반` 구성 모두에 대해 폐기 절차가 유사합니다. 유일한 차이점은 제거 대상 날짜입니다.
공통 단계:
-
omnibus-gitlab
이슈 트래커에 폐기 유형 및 기타 필요한 정보를 포함하여 이슈를 생성합니다.deprecation
레이블을 적용합니다. - 폐기된 구성에 대한 제거 대상을 결정합니다
- 공지 섹션에 기재된 각 항목에 대한 폐기 공지를 작성합니다.
제거 대상:
일반 구성의 경우, 제거 대상은 항상 다음 주요 릴리스의 날짜여야 합니다. 날짜가 알려지지 않은 경우, 다음 주요 버전을 참조할 수 있습니다.
민감한 구성의 경우 상황은 약간 복잡합니다. 다음 주 버전 릴리스가 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
의 구성을 새로운 유효한 구성으로 매뉴얼으로 변경해야 합니다.
참고 이 구성 옵션이 민감하며 설치나 데이터의 무결성을 위협할 수 있는 경우, 설치 또는 업그레이드는 중단됩니다.