Linux 패키지 지원 중단 정책
GitLab v19.5Offering: GitLab Self-Managed
요약
Linux 패키지에는 사용자에게 다양한 구성 옵션을 제공하는 여러 라이브러리와 서비스가 포함됩니다. 라이브러리와 서비스가 업데이트되면 구성 옵션이 변경되고 더 이상 쓰이지 않게 됩니다. Linux 패키지는 최소 한 개의 메이저 버전 동안 구성을 유지합니다.
Linux 패키지에는 사용자에게 다양한 구성 옵션을 제공하는 여러 라이브러리와 서비스가 포함됩니다.
라이브러리와 서비스가 업데이트되면 구성 옵션이 변경되고 더 이상 쓰이지 않게 됩니다. 유지 보수성을 높이고 정상 동작하는 구성을 유지하기 위해 일부 구성은 제거해야 합니다.
구성 지원 중단#
정책#
Linux 패키지는 최소 한 개의 메이저 버전 동안 구성을 유지합니다. 지원 중단된 구성이 다음 메이저 릴리스에서도 제공된다고 보장하지는 않습니다. 자세한 내용은 예시를 참고합니다.
공지#
구성이 더 이상 쓰이지 않게 되면 다음 경로로 지원 중단을 공지합니다.
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 |
구성 제거#
지원 중단이 발표되고 제거 목표가 정해지면 해당 이슈의 마일스톤을 제거 목표 버전에 맞게 변경합니다.
이슈의 마지막 댓글에는 다음 내용이 포함되어야 합니다.
- 릴리스 블로그 게시물 섹션에 넣을 텍스트 스니펫.
- 해당 변경을 도입하는 문서 머지 리퀘스트 링크 또는 문서 스니펫.
- 다음 중 하나.
- 구성을 제거하는 초안 머지 리퀘스트 링크.
- 수행해야 할 작업에 대한 세부 정보.
예시#
GitLab 10.0에서 /etc/gitlab/gitlab.rb에 사용자 구성 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의 구성을 새로운 유효 구성으로 직접 변경해야 합니다.
참고 해당 구성 옵션이 민감한 구성이어서 설치 또는 데이터의 무결성을
위협할 수 있으면 설치 또는 업그레이드가 중단됩니다.