Omnibus GitLab 사용 중단 과정
GitLab 사용 중단 지침을 따르는 것 외에도 Omnibus GitLab 패키지에 사용 중단 메시지를 추가해야 합니다.
사용 중단 및 기능 제거를 위해 GitLab 관리자에게 사용 중단 메시지를 통지하는 것은 다음과 같습니다.
반드시 알아야 할 점
사용 중단 메시지를 추가하기 전에 다음을 읽어보세요.
사용 중단 메시지 추가
우리는 Gitlab::Deprecations
클래스의 list
메소드에 연결된 사용 중단 사항 디렉터리을 저장합니다
Gitlab::Deprecations
클래스
만약 설정을 사용 중단해야 하는 경우, 해당 디렉터리에 적절한 세부 정보로 추가해야 합니다. 예를 들어:
deprecations = [
{
config_keys: %w(gitlab postgresql data_dir),
deprecation: '11.6',
removal: '14.0',
note: "https://docs.gitlab.com/omnibus/settings/database.html#store-postgresql-data-in-a-different-directory에서 postgresql['dir']를 사용하는 방법을 확인하세요"
},
{
config_keys: %w(gitlab sidekiq cluster),
deprecation: '13.0',
removal: '14.0',
note: "sidekiq를 직접 실행하는 것은 사용 중단되었습니다. sidekiq-cluster를 사용하는 방법은 https://docs.gitlab.com/ee/administration/operations/extra_sidekiq_processes.html에서 확인하세요."
},
...
]
config_keys
config_keys
는 설정 해시를 통해 특정 구성에 도달하기 위해 사용할 수 있는 키 디렉터리을 나타냅니다.
예를 들어 %w(mattermost log_file_directory)
는 mattermost['log_file_directory']
설정을 의미합니다.
유사하게, %w(gitlab nginx listen_addresses)
는 gitlab['nginx']['listen_addresses']
를 의미합니다.
우리는 내부적으로 /etc/gitlab/gitlab.rb
에 사용하는 nginx['listen_addresses']
로 변환합니다.
deprecation
deprecation
은 변경 사항을 사용 중단한 <major>.<minor>
버전을 설정하는 곳입니다.
해당 버전부터 gitlab-ctl reconfigure
를 실행하면 설정이 removal
버전에서 제거되고 제공된 note
가 표시됩니다.
removal
removal
은 변경 사항을 더 이상 완전히 지원하지 않을 <major>.<minor>
버전을 설정하는 곳입니다.
대부분의 경우 주 버전 릴리즈여야 합니다. Omnibus 패키지는 설치 초반에 제거된 설정이 있는지 확인하는 스크립트를 실행하여 설치를 실패시킵니다. 마찬가지로, gitlab-ctl reconfigure
를 실행하면 제거된 구성을 확인합니다. 이는 사용자가 이전 인스턴스의 gitlab.rb
를 새로운 인스턴스로 복사하는 경우를 처리하기 위한 것입니다.
note
note
은 gitlab-ctl reconfigure
실행 중 사용자에게 제공되는 사용 중단 메시지의 일부입니다.
이 영역을 사용하여 사용자들에게 설정을 변경하는 방법을 안내하며, 새로운 설명서에 링크하거나, 설정 이름을 바꾸는 경우에는 새로운 설정 이름을 제공합니다.
사용 중단 메시지 제거 추적
사용 중단 메시지는 제거와 함께 동시에 정리되어서는 안 됩니다. 왜냐하면 제거 후에도 이전 구성을 마이그레이션하지 않은 상태로 업그레이드를 시도하는 관리자를 위해 여전히 보호하기 때문입니다.
업그레이드는 Gitlab::Deprecations.check_config
메소드를 실행하여 기존 구성을 예정된 제거 날짜와 비교한 후 GitLab 패키지를 업데이트하는 것을 허용합니다.
게다가, 여러 GitLab 버전을 건너뛸 수 있는 사용자들도 있습니다. 이러한 이유로 사용 중단 메시지는 제거 목표 후 다음에 필요한 업그레이드를 할 때에만 제거하는 것이 좋습니다. (업그레이드 경로 참조) 예를 들어:
- 사용 중단 메시지가 15.8에 추가되었습니다.
- 이전 구성이 16.0에서 코드베이스에서 삭제되었습니다.
- 사용 중단 메시지는 16.3에서 제거되어야 합니다. 이는 다음으로 예정된 필수 업그레이드이기 때문입니다.
사용 중단 메시지의 제거를 추적하려면 다음을 수행하세요.
-
사용 중단 메시지 제거
이슈 템플릿을 사용하여 추적 이슈를 생성합니다. -
사용 중단 메시지 옆에 메시지를 제거할 추적 이슈로 연결하는 간단한 설명을 추가하십시오. 예:
{ config_keys: ... deprecation: '15.8', # 메시지 제거 이슈: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/XYZ removal: '16.0', note: "..." },
기능 제거 추적
반드시 알아야 할 점 섹션에 따라 사용 중단할 기능을 제거할 올바른 마일스톤을 정의한 후, 기능 제거를 추적하기 위한 추적 이슈를 생성하고 removal
키 옆에 해당 이슈를 추적하는 코멘트를 추가합니다. 예:
{
config_keys: ...
deprecation: '15.8', # 메시지 제거 이슈: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/1
removal: '16.0', # 제거 이슈: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/2
note: "..."
},
추적 이슈는 해당 기능이 제거될 예정인 마일스톤으로 설정되어야 합니다.
사용 중단 메시지 제거
메시지를 제거할 준비가 되었을 때 다음을 수행해야 합니다.
- 사용 중단된 구성이 이전 마일스톤에서 실제로 제거되었는지 확인합니다.
- 메시지 제거가 구성을 제거한 마일스톤보다 나중에 필수 정지 마일스톤에서 출시되고 있는지 확인합니다.
- 사용 중단 메시지 제거를 진행하고 추적 이슈를 닫기 위한 MR을 엽니다.