GitLab 15 변경 사항

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

이 페이지에는 GitLab 15의 마이너 버전 및 패치 버전에 대한 업그레이드 정보가 포함되어 있습니다. 다음을 위해 이 지침을 검토하십시오:

  • 귀하의 설치 유형.
  • 현재 버전과 대상 버전 사이의 모든 버전.

GitLab Helm 차트를 업그레이드하는 자세한 내용은 6.0 릴리스 노트를 참조하십시오.

15.11.1

  • 이제 많은 프로젝트 가져오기그룹 가져오기가 개발자 역할만 필요로 하는 것이 아니라 유지자 역할이 필요합니다. 자세한 내용은 사용하는 가져오기 도구의 설명서를 참조하십시오.

15.11.0

  • 패치 릴리스 15.11.3 이상으로 업그레이드합니다. 이렇게 하면 15.5.0 및 이전 버전에서 업그레이드할 때 이슈 408304가 발생하지 않습니다.

  • 일반적으로 PgBouncer가 있는 환경에서는 백업을 하려면 GITLAB_BACKUP_로 접두어가 붙은 변수를 설정하여 PgBouncer를 우회해야 합니다(PgBouncer 우회). 그러나 이슈gitlab-backup은 오버라이드에서 정의된 직접 연결 대신 PgBouncer를 통한 일반 데이터베이스 연결을 사용하고 데이터베이스 백업이 실패합니다. 해결책은 직접 pg_dump를 사용하는 것입니다.

    영향을 받는 릴리스:

    영향을 받는 마이너 릴리스 영향을 받는 패치 릴리스 수정 버전
    15.11 모두 없음
    16.0 모두 없음
    16.1 모두 없음
    16.2 모두 없음
    16.3 모두 없음
    16.4 모두 없음
    16.5 모두 없음
    16.6 모두 없음
    16.7 16.7.0 - 16.7.6 16.7.7
    16.8 16.8.0 - 16.8.3 16.8.4

Linux 패키지 설치

GitLab 15.11에서 PostgreSQL은 다음의 경우를 제외하고 자동으로 13.x로 업그레이드됩니다.

  • Patroni를 사용하여 고가용성으로 데이터베이스를 실행 중인 경우.
  • 데이터베이스 노드가 GitLab Geo 구성의 일부인 경우.
  • PostgreSQL의 자동 업그레이드를 기권했을 경우.
  • /etc/gitlab/gitlab.rbpostgresql['version'] = 12가 설정된 경우.

고가용성 및 Geo 설치에서는 PostgreSQL 13으로 수동 업그레이드를 지원하며, 자세한 내용은 HA/Geo 클러스터에 패키지로 배포된 PostgreSQL를 참조하십시오.

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed

pg_upgrade가 번들 PostregSQL 데이터베이스를 버전 13으로 업그레이드하지 못합니다

영향을 받는 마이너 릴리스 영향을 받는 패치 릴리스 수정 버전
15.2 - 15.10 모두 없음
15.11 15.11.0 - 15.11.11 15.11.12 이상

내장 pg-upgrade 도구의 버그로 인해 번들 PostgreSQL 데이터베이스를 버전 13으로 업그레이드할 수 없습니다. 이로 인해 보조 사이트가 손상되고 GitLab 16.x로의 Geo 설치 업그레이드가 불가능해집니다(16.0부터 PostgreSQL 12 지원이 제거되었습니다). 이는 번들 PostgreSQL 소프트웨어를 사용하고 있으며, 보조 메인 Rails 데이터베이스와 추적 데이터베이스를 동일한 노드에서 실행하는 보조 사이트에서 발생합니다. 15.11.12 이상으로 업그레이드할 수 없는 경우 수동 해결 방법이 있습니다.

15.11.x

  • 새로운 LDAP 사용자가 처음으로 로그인할 때 이메일 주소가 아닌 LDAP 사용자 속성을 기반으로 사용자 이름이 할당될 수 있는 버그가 발생할 수 있습니다. 수동 해결 방법은 gitlab_rails['omniauth_auto_link_ldap_user'] = true 설정하거나 버그가 수정된 GitLab 16.1 이상으로 업그레이드하는 것입니다.

15.10.5

  • Elastic Indexer Cron Workers 버그로 인해 Sidekiq를 포화 상태로 만들 수 있습니다.
    • 이 문제가 발생하면 MR 병합, 파이프라인, Slack 알림 및 기타 이벤트가 생성되지 않거나 오랜 시간이 걸릴 수 있습니다.
    • 이 문제는 즉시 나타나지 않을 수 있으며 Sidekiq가 포화 상태가 되기까지 최대 1주일이 소요될 수 있습니다.
    • Elasticsearch를 활성화할 필요는 없습니다.
    • 이 문제를 해결하려면 15.11으로 업그레이드하거나 해당 이슈의 해결 방법을 사용하십시오.
  • 이제 많은 프로젝트 가져오기그룹 가져오기가 개발자 역할만 필요로 하는 것이 아니라 유지자 역할이 필요합니다. 사용 중인 가져오기 도구에 대한 자세한 내용은 해당 문서를 참조하십시오.

15.10.0

  • Elastic Indexer Cron Workers와 관련된 버그로 인해 Sidekiq이 포화 상태가 될 수 있습니다.
    • 이 문제가 발생할 경우, 병합 요청 병합, 파이프라인, Slack 알림 및 기타 이벤트가 생성되지 않거나 오랜 시간이 걸릴 수 있습니다.
    • 이 문제는 즉시 나타나지 않을 수 있으며 Sidekiq이 포화 상태가 될 때까지 최대 1주일이 소요될 수 있습니다.
    • Elasticsearch를 활성화할 필요는 없습니다.
    • 이 문제를 해결하려면 15.11로 업그레이드하거나 해당 문제의 해결책을 사용하십시오.
  • 제로 다운타임 재색인과 관련된 버그로 인해 재색인시 Couldn't load task status 오류가 발생할 수 있습니다. 또한 Elasticsearch 호스트에서 sliceId must be greater than 0 but was [-1] 오류가 발생할 수 있습니다. 이 문제의 해결책으로 처음부터 다시 색인 또는 GitLab 16.3으로 업그레이드를 고려하십시오.
  • Omnibus GitLab 16.0에서 Gitaly 구성 변경이 크게 이루어집니다. Omnibus GitLab 15.10에서 역호환성이 유지되는 동안 새 구조로 마이그레이션을 시작할 수 있습니다. 이 변경에 대해 자세히 알아보세요.
  • GitLab 15.10 이상으로 업그레이드하는 동안 다음과 같은 오류가 발생할 수 있습니다:

    STDOUT: rake 중단됨!
    StandardError: An error has occurred, all later migrations canceled:
    PG::CheckViolation: ERROR:  check constraint "check_70f294ef54" is violated by some row
    

    이 오류는 GitLab 15.8에 도입된 일괄 배경 마이그레이션이 GitLab 15.10 이전에 완료되지 않았기 때문에 발생합니다. 이 오류를 해결하려면:

    1. 데이터베이스 콘솔에서 다음 SQL 문을 실행하십시오(Linux 패키지 설치의 경우 sudo gitlab-psql을 실행):

      UPDATE oauth_access_tokens SET expires_in = '7200' WHERE expires_in IS NULL;
      
    2. 데이터베이스 마이그레이션을 다시 실행하십시오.

  • GitLab 15.10 이상으로 업그레이드하는 동안 다음과 같은 오류가 발생할 수도 있습니다:

    "exception.class": "ActiveRecord::StatementInvalid",
    "exception.message": "PG::SyntaxError: ERROR:  zero-length delimited identifier at or near \"\"\"\nLINE 1: ...COALESCE(\"lock_version\", 0) + 1 WHERE \"ci_builds\".\"\" IN (SEL...\n
    

    이 오류는 GitLab 14.9에서 도입된 일괄 배경 마이그레이션이 GitLab 15.10 이상으로 업그레이드되기 전에 완료되지 않았기 때문에 발생합니다. 이 오류를 해결하려면 이 마이그레이션을 완료로 표시해도 안전합니다:

    # 레일즈 콘솔 시작
    
    connection = Ci::ApplicationRecord.connection
    
    Gitlab::Database::SharedModel.using_connection(connection) do
      migration = Gitlab::Database::BackgroundMigration::BatchedMigration.find_for_configuration(
        Gitlab::Database.gitlab_schemas_for_connection(connection), 'NullifyOrphanRunnerIdOnCiBuilds', :ci_builds, :id, [])
    
      # 모든 작업을 완료로 표시
      migration.batched_jobs.update_all(status: Gitlab::Database::BackgroundMigration::BatchedJob.state_machine.states[:succeeded].value)
      migration.update_attribute(:status, Gitlab::Database::BackgroundMigration::BatchedMigration.state_machine.states[:finished].value)
    end
    

    자세한 내용은 issue 415724를 참조하십시오.

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • pg_upgrade가 번들 PostregSQL 데이터베이스를 버전 13으로 업그레이드하지 못하는 경우가 있습니다. 세부 정보 및 해결책을 참조하십시오.
  • 보조 사이트에서 LFS 개체를 복제하는 경우, 보조 사이트가 완전히 동기화되었더라도 주 사이트에서 다운로드될 수 있습니다. 세부 정보 및 해결책을 참조하십시오.

15.9.0

  • Elastic Indexer Cron Workers와 관련된 버그로 인해 Sidekiq이 포화 상태가 될 수 있습니다.
    • 이 문제가 발생할 경우, 병합 요청 병합, 파이프라인, Slack 알림 및 기타 이벤트가 생성되지 않거나 오랜 시간이 걸릴 수 있습니다.
    • 이 문제는 즉시 나타나지 않을 수 있으며 Sidekiq이 포화 상태가 될 때까지 최대 1주일이 소요될 수 있습니다.
    • Elasticsearch를 활성화할 필요는 없습니다.
    • 이 문제를 해결하려면 15.11로 업그레이드하거나 해당 문제의 해결책을 사용하십시오.
  • BackfillTraversalIdsToBlobsAndWikiBlobs 고급 검색 마이그레이션과 관련된 버그로 인해 Elasticsearch 클러스터가 포화 상태가 될 수 있습니다.
    • 이 문제가 발생할 경우, 검색이 느려질 수 있으며 Elasticsearch 클러스터의 업데이트 시간이 길어질 수 있습니다.
    • 이 문제를 해결하려면 마이그레이션 배치 크기를 줄이기 위해 GitLab 15.10으로 업그레이드하십시오.
  • 패치 릴리스 15.9.3 이상으로 업그레이드하십시오. 이는 두 가지 데이터베이스 마이그레이션 버그를 수정합니다:
    • 패치 릴리스 15.9.0, 15.9.1, 15.9.2에는 사용자 프로필 필드 linkedin, twitter, skype, website_url, location, organization에서 데이터 손실을 초래할 수 있는 버그가 있습니다. 자세한 내용은 issue 393216를 참조하십시오.
    • 두 번째 버그 수정은 15.4.x에서 직접 업그레이드할 수 있도록 합니다.
  • CI 분할 작업의 일환으로 ci_builds_needs새로운 외래 키가 추가되었습니다. 대용량 CI 테이블이 있는 GitLab 인스턴스에서는 이 제약 조건을 추가하는 데 평소보다 오래 걸릴 수 있습니다.
  • Praefect의 메타데이터 검증기 무효 메타데이터 삭제 동작가 이제 기본으로 사용됩니다.

    메타데이터 검증기는 Praefect 데이터베이스에서 복제본 레코드를 처리하고 복제본이 실제로 Gitaly 노드에 존재하는지 확인합니다. 복제본이 존재하지 않으면 해당 메타데이터 레코드가 삭제됩니다. 이를 통해 Praefect는 메타데이터 레코드가 정상이라고 표시되지만 실제로 디스크에 존재하지 않는 경우를 해결할 수 있습니다. 메타데이터 레코드가 삭제된 후 Praefect의 조정자는 복제 작업을 재생성하기 위해 복제 작업을 예약합니다.

    이전에 상태 관리 논리의 문제로 데이터베이스에 무효한 메타데이터 레코드가 있을 수 있습니다. 예를 들어, 저장소의 불완전한 삭제나 부분적으로 완료된 이름 변경으로 인해 이러한 레코드가 있을 수 있습니다. 검증기가 출력하는 로그 레코드를 검색하여 이전 GitLab 15.0 및 이후의 무효한 메타데이터 레코드를 찾을 수 있습니다. 저장소 검증에 대한 자세한 내용 및 예제 로그 항목을 확인하십시오.

  • Omnibus GitLab 16.0에서 Praefect 구성이 크게 변경됩니다. Omnibus GitLab 15.9에서 역호환성이 유지되는 동안 새 구조로 마이그레이션을 시작할 수 있습니다. 이 변경에 대해 자세히 알아보세요.

자체 컴파일 설치

  • 자체 컴파일(소스) 설치의 경우 gitlab-sshd 추가로 GitLab Shell을 빌드하기 위해 Kerberos 헤더가 필요합니다.

    sudo apt install libkrb5-dev
    

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • ‘pg_upgrade’가 번들로 제공되는 PostregSQL 데이터베이스를 버전 13으로 업그레이드하지 못하는 문제가 발생했습니다. 관련 내용과 해결 방법은 여기를 참조하세요.
  • 보조 사이트에서 LFS 객체를 복제할 때, 보조 사이트가 완전히 동기화되었음에도 불구하고 주 사이트에서 다운로드하는 문제가 있습니다. 여기에서 자세한 내용과 해결 방법을 확인하세요.

15.8.2

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • 일부 Geo 설치에서 프로젝트 및 위키의 복제 및 확인이 따라가지 못하는 문제가 발견되었습니다. 귀하의 설치가 영향을 받을 수 있습니다. 복제를 기다리는 상태로 지속될 수 있는 몇 몇 프로젝트 및/또는 위키를 확인하면 됩니다. 장애 후 데이터 손실이 발생할 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2
    • 수정된 버전: GitLab 15.8.3 이후 버전

15.8.1

  • GitLab 15.4에서 도입된 버그로, Gitaly 클러스터의 하나 이상의 Git 리포지토리가 사용 불가 상태인 경우, 해당 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 리포지토리에 대한 저장소 확인Geo 복제 및 확인 작업이 중단됩니다. GitLab 15.9.0에서 변경 사항을 되돌림으로써 이 버그가 수정되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 리포지토리가 있는지 확인하세요. 자세한 정보는 버그 이슈를 참조하세요.

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • 일부 Geo 설치에서 프로젝트 및 위키의 복제 및 확인이 따라가지 못하는 문제가 발견되었습니다. 귀하의 설치가 영향을 받을 수 있습니다. 복제를 기다리는 상태로 지속될 수 있는 몇 몇 프로젝트 및/또는 위키를 확인하면 됩니다. 장애 후 데이터 손실이 발생할 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2
    • 수정된 버전: GitLab 15.8.3 이후 버전

15.8.0

  • Gitaly에 필요한 Git 2.38.0 이상이 필요합니다. 자체 컴파일 설치의 경우, Gitaly에서 제공하는 Git 버전을 사용해야 합니다.
  • GitLab 15.4에서 도입된 버그로, Gitaly 클러스터의 하나 이상의 Git 리포지토리가 사용 불가 상태인 경우, 해당 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 리포지토리에 대한 저장소 확인Geo 복제 및 확인 작업이 중단됩니다. GitLab 15.9.0에서 변경 사항을 되돌림으로써 이 버그가 수정되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 리포지토리가 있는지 확인하세요. 자세한 정보는 버그 이슈를 참조하세요.

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • ‘pg_upgrade’가 번들로 제공되는 PostregSQL 데이터베이스를 버전 13으로 업그레이드하지 못하는 문제가 발생했습니다. 관련 내용과 해결 방법은 여기를 참조하세요.
  • 일부 Geo 설치에서 프로젝트 및 위키의 복제 및 확인이 따라가지 못하는 문제가 발견되었습니다. 귀하의 설치가 영향을 받을 수 있습니다. 복제를 기다리는 상태로 지속될 수 있는 몇 몇 프로젝트 및/또는 위키를 확인하면 됩니다. 장애 후 데이터 손실이 발생할 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2
    • 수정된 버전: GitLab 15.8.3 이후 버전

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • 작은 수의 Geo 설치에서 프로젝트 및 위키의 복제 및 확인이 계속되지 않는 문제를 발견했습니다. 귀하의 설치가 영향을 받을 수 있습니다. 확인 상태가 계속해서 “대기 중”으로 표시되는 프로젝트 및/또는 위키가 있는 경우입니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2.
    • 수정된 버전: GitLab 15.8.3 이후 버전.

15.7.5

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • 작은 수의 Geo 설치에서 프로젝트 및 위키의 복제 및 확인이 계속되지 않는 문제를 발견했습니다. 귀하의 설치가 영향을 받을 수 있습니다. 확인 상태가 계속해서 “대기 중”으로 표시되는 프로젝트 및/또는 위키가 있는 경우입니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2.
    • 수정된 버전: GitLab 15.8.3 이후 버전.

15.7.4

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • 작은 수의 Geo 설치에서 프로젝트 및 위키의 복제 및 확인이 계속되지 않는 문제를 발견했습니다. 귀하의 설치가 영향을 받을 수 있습니다. 확인 상태가 계속해서 “대기 중”으로 표시되는 프로젝트 및/또는 위키가 있는 경우입니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2.
    • 수정된 버전: GitLab 15.8.3 이후 버전.

15.7.3

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • 작은 수의 Geo 설치에서 프로젝트 및 위키의 복제 및 확인이 계속되지 않는 문제를 발견했습니다. 귀하의 설치가 영향을 받을 수 있습니다. 확인 상태가 계속해서 “대기 중”으로 표시되는 프로젝트 및/또는 위키가 있는 경우입니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2.
    • 수정된 버전: GitLab 15.8.3 이후 버전.

15.7.2

지오 설치

티어: 프리미엄, 얼티메이트 오퍼링: 셀프 매니지드
  • /api/v4/container_registry_event/events 엔드포인트에서 컨테이너 레지스트리 푸시 이벤트가 거부되어 Geo 보조 사이트가 컨테이너 레지스트리 이미지의 업데이트를 인식하지 못하고 이후에 업데이트를 복제하지 않습니다. 보조 사이트는 장애 조치 후 오래된 컨테이너 이미지를 포함할 수 있습니다. 이는 15.6.0 - 15.6.6 및 15.7.0 - 15.7.2 버전에 영향을 미칩니다. 컨테이너 저장소를 사용 중이라면, 이 문제를 수정한 GitLab 15.6.7, 15.7.3 또는 15.8.0으로 업그레이드하고 장애 조치 후 잠재적인 데이터 손실을 피하십시오.
  • 일부 Geo 설치에서 프로젝트 및 위키의 복제 및 검증이 따라가지 않는 문제를 발견했습니다. 검증 상태가 계속 “대기 중”으로 표시되는 경우 설치에 영향을 줄 수 있습니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2
    • 수정된 버전: GitLab 15.8.3 및 이후 버전

15.7.1

지오 설치

티어: 프리미엄, 얼티메이트 오퍼링: 셀프 매니지드
  • /api/v4/container_registry_event/events 엔드포인트에서 컨테이너 레지스트리 푸시 이벤트가 거부되어 Geo 보조 사이트가 컨테이너 레지스트리 이미지의 업데이트를 인식하지 못하고 이후에 업데이트를 복제하지 않습니다. 보조 사이트는 장애 조치 후 오래된 컨테이너 이미지를 포함할 수 있습니다. 이는 15.6.0 - 15.6.6 및 15.7.0 - 15.7.2 버전에 영향을 미칩니다. 컨테이너 저장소를 사용 중이라면, 이 문제를 수정한 GitLab 15.6.7, 15.7.3 또는 15.8.0으로 업그레이드하고 장애 조치 후 잠재적인 데이터 손실을 피하십시오.
  • 일부 Geo 설치에서 프로젝트 및 위키의 복제 및 검증이 따라가지 않는 문제를 발견했습니다. 검증 상태가 계속 “대기 중”으로 표시되는 경우 설치에 영향을 줄 수 있습니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2
    • 수정된 버전: GitLab 15.8.3 및 이후 버전

15.7.0

  • 이 버전은 issues.work_item_type_id 열의 NOT NULL DB 제약 조건을 확인합니다. 이 버전으로 업그레이드하기 위해 issues 테이블에 NULL work_item_type_id를 가진 레코드가 없어야 합니다. BackfillWorkItemTypeIdForIssues 백그라운드 마이그레이션이 여러 번 실행되어 EnsureWorkItemTypeBackfillMigrationFinished 포스트-디플로이 마이그레이션으로 완료됩니다.
  • GitLab 15.4.0은 배치된 백그라운드 마이그레이션을 도입하여 이슈 테이블의 namespace_id 값을 backfill합니다. 이 마이그레이션은 큰 GitLab 인스턴스에서 여러 시간 또는 일이 걸릴 수 있습니다. 마이그레이션이 성공적으로 완료되었는지 확인한 후 15.7.0으로 업그레이드하십시오.
  • namespace_id 열에 NULL 값이 없음을 지정하는 데이터베이스 제약 조건이 추가되었습니다.

    • 15.4에서 실행 중인 namespace_id 배치된 백그라운드 마이그레이션이 실패한 경우 (위 참조), 15.7 업그레이드가 데이터베이스 마이그레이션 오류로 실패합니다.

    • 큰 이슈 테이블을 보유한 GitLab 인스턴스에서는 이 제약 조건을 검증하는 작업으로 인해 업그레이드가 평소보다 더 오래 걸릴 수 있습니다. 모든 데이터베이스 변경은 1시간 제한 내에 완료되어야 합니다:

      FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
      [..]
      Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
      

      데이터 변경 및 업그레이드를 수동으로 완료하는 방법이 있습니다.

  • 기본 Sidekiq max_concurrency가 20으로 변경되었습니다. 문서 및 제품 기본값이 이제 일관됩니다.

    예를 들어, 이전에:

    • Linux 패키지 설치 기본값 (sidekiq['max_concurrency']): 50
    • 자체 컴파일된 설치 기본값: 50
    • Helm 차트 기본값 (gitlab.sidekiq.concurrency): 25

    참조 아키텍처는 특정하게 설정되어 있기 때문에 여전히 기본값이 10입니다.

    max_concurrency를 구성한 사이트는 이 변경에 영향을 받지 않습니다. Sidekiq 동시성 설정에 대해 자세히 알아보기.

  • GitLab Runner 15.7.0은 CI/CD 작업에 영향을 주는 중요한 변경 사항을 도입했습니다: 작업 파일 변수의 확장을 올바르게 처리. 이전에 파일 유형 변수를 참조하는 작업 정의 변수는 파일 유형 CI/CD 변수 사용과 관련하여 해당 파일 변수의 값(콘텐츠)으로 확장되었습니다. 이 동작은 일반적인 쉘 변수 확장 규칙을 준수하지 않았습니다. 또한, 파일 변수와 해당 콘텐츠가 출력되는 경우(예: echo 출력에서) 비밀 또는 민감한 정보가 노출될 수 있었습니다. 자세한 내용은 GitLab 15.7에서 파일 유형 변수 확장 변경에 대한 이해을 참조하십시오.
  • GitLab 15.4에서 발생한 버그로, Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 저장소 검사Geo 복제 및 검증은 영향 받는 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소에서 실행되지 않습니다. 이 버그는 GitLab 15.9.0에서 변경을 롤백함으로써 수정되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 정보는 버그 이슈를 참조하십시오.
  • 보조 사이트에서 LFS 개체를 복제하면 기본 사이트에서 다운로드됩니다. 보조 사이트가 완전히 동기화된 경우에도 해당합니다. 자세한 내용 및 해결 방법은 세부 정보를 참조하십시오.

Geo 설치

Tier: 프리미엄, 얼티메이트 Offering: Self-managed
  • pg_upgrade가 번들된 PostregSQL 데이터베이스를 13 버전으로 업그레이드하지 못하는 문제가 있습니다. 자세한 내용 및 해결 방법은 여기를 참조하십시오.
  • 컨테이너 레지스트리 푸시 이벤트가 /api/v4/container_registry_event/events 엔드포인트에서 거부되어 Geo 보조 사이트가 컨테이너 레지스트리 이미지의 업데이트를 인식하지 못하고 이에 따라 업데이트를 복제하지 않게 됩니다. 보조 사이트는 장애 조치 후 구식의 컨테이너 이미지를 포함할 수 있습니다. 이는 15.6.0 - 15.6.6 및 15.7.0 - 15.7.2 버전에 영향을 미칩니다. 컨테이너 저장소를 사용 중이라면, 이 문제를 해결한 GitLab 15.6.7, 15.7.3 또는 15.8.0으로 업그레이드하고 장애 조치 후 잠재적인 데이터 손실을 피하십시오.
  • 일부 Geo 설치에서 프로젝트 및 위키의 복제 및 검증이 계속되지 않는 문제가 발견되었습니다. 검증 대기 상태에 있는 일부 프로젝트 및/또는 위키가 지속되는 경우 설치에 영향을 줄 수 있습니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향 받는 버전: GitLab 버전 15.6.x, 15.7.x 및 15.8.0 - 15.8.2.
    • 수정된 버전: GitLab 15.8.3 이상.

15.6.7

Geo 설치

Tier: 프리미엄, 얼티메이트 Offering: Self-managed
  • 일부 Geo 설치에서 프로젝트 및 위키의 복제 및 검증이 계속되지 않는 문제가 발견되었습니다. 검증 대기 상태에 있는 일부 프로젝트 및/또는 위키가 지속되는 경우 설치에 영향을 줄 수 있습니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향 받는 버전: GitLab 버전 15.6.x, 15.7.x, 및 15.8.0 - 15.8.2.
    • 수정된 버전: GitLab 15.8.3 이상.

15.6.6

Geo 설치

Tier: 프리미엄, 얼티메이트 Offering: Self-managed
  • 컨테이너 레지스트리 푸시 이벤트가 /api/v4/container_registry_event/events 엔드포인트에서 거부되어 Geo 보조 사이트가 컨테이너 레지스트리 이미지의 업데이트를 인식하지 못하고 이에 따라 업데이트를 복제하지 않게 됩니다. 보조 사이트는 장애 조치 후 구식의 컨테이너 이미지를 포함할 수 있습니다. 이는 15.6.0 - 15.6.6 및 15.7.0 - 15.7.2 버전에 영향을 미칩니다. 컨테이너 저장소를 사용 중이라면, 이 문제를 해결한 GitLab 15.6.7, 15.7.3 또는 15.8.0으로 업그레이드하고 장애 조치 후 잠재적인 데이터 손실을 피하십시오.
  • 일부 Geo 설치에서 프로젝트 및 위키의 복제 및 검증이 계속되지 않는 문제가 발견되었습니다. 검증 대기 상태에 있는 일부 프로젝트 및/또는 위키가 지속되는 경우 설치에 영향을 줄 수 있습니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향 받는 버전: GitLab 버전 15.6.x, 15.7.x, 및 15.8.0 - 15.8.2.
    • 수정된 버전: GitLab 15.8.3 이상.
  • GitLab 15.4에서 발생한 버그로, Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 저장소 확인Geo 복제 및 검증이 영향 받은 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소에서 실행되지 않게 됩니다. 이 버그는 GitLab 15.9.0에서 변경 내용을 되돌림으로 수정되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 상태의 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.

15.6.5

15.6.4

Geo installations

Tier: 프리미엄, 얼티밋 Offering: Self-Managed

15.6.3

Geo installations

Tier: 프리미엄, 얼티밋 Offering: Self-Managed

15.6.2

Geo installations

Tier: 프리미엄, 얼티밋 Offering: Self-Managed

15.6.1

Geo 설치

자세히: Tier: Premium, Ultimate Offering: Self-Managed

  • /api/v4/container_registry_event/events 엔드포인트에서 컨테이너 레지스트리 푸시 이벤트가 거부되어 Geo 보조 사이트가 컨테이너 레지스트리 이미지의 업데이트를 인식하지 못하고 결과적으로 업데이트를 복제하지 않습니다. 보조 사이트는 장애 조치(failover) 후 오래된 컨테이너 이미지를 포함할 수 있습니다. 이 문제는 15.6.0 - 15.6.6 버전 및 15.7.0 - 15.7.2를 영향을 줍니다. 컨테이너 저장소를 사용 중이라면, 이 문제에 대한 수정 사항이 포함 된 GitLab 15.6.7, 15.7.3 또는 15.8.0으로 업그레이드하고 장애 조치 후 잠재적인 데이터 손실을 피하세요.
  • 소수의 Geo 설치에 대해 프로젝트 및 위키의 복제 및 검증이 따라가지 못하는 문제를 발견했습니다. 귀하의 설치에서 “대기 중” 상태에 지속적으로 존재하는 프로젝트 및/또는 위키를 본다면, 영향을 받을 수 있습니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x, 및 15.8.0 - 15.8.2
    • 수정 사항이 포함된 버전: GitLab 15.8.3 및 이후
  • GitLab 15.4에 도입된 버그로 인해, Gitaly Cluster의 한 개 이상의 Git 저장소가 사용 불가 상태인 경우, 해당 Gitaly Cluster의 모든 프로젝트 또는 프로젝트 위키 저장소에 대한 저장소 확인Geo 복제 및 검증이 실행되지 않습니다. 이 버그는 GitLab 15.9.0에서 변경사항을 되돌리면서 수정되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하세요. 자세한 내용은 버그 이슈를 참조하세요.

15.6.0

  • 공식 지원되는 PostgreSQL 버전 중 하나를 사용해야 합니다. 일부 데이터베이스 이전은 이전 PostgreSQL 버전과의 안정성 및 성능 문제를 일으킬 수 있습니다.
  • Gitaly에서는 Git 2.37.0 및 이후 버전이 필요합니다. 직접 컴파일된 설치의 경우, Gitaly에서 제공하는 Git 버전을 사용해야 합니다.
  • 네 개의 인덱스의 동작을 수정하는 데이터베이스 변경이 해당 인덱스가 존재하지 않는 인스턴스에서 실패합니다:

    원인:
    PG::UndefinedTable: ERROR:  relation "index_issues_on_title_trigram" does not exist
    

    다른 세 개의 인덱스는 다음과 같습니다: index_merge_requests_on_title_trigram, index_merge_requests_on_description_trigram, 그리고 index_issues_on_description_trigram.

    이 문제는 GitLab 15.7에서 수정되었고, GitLab 15.6.2로 전환되었습니다. 이 문제에 대응할 수도 있습니다: 이러한 인덱스를 생성하는 방법에 대해 읽어보세요.

Linux 패키지 설치

GitLab 15.6에서는 omnibus-gitlab 패키지로 제공되는 PostgreSQL 버전이 12.12 및 13.8로 업그레이드되었습니다. 명시적으로 선택하지 않은 경우, 이로 인해 PostgreSQL 서비스가 자동으로 다시 시작될 수 있으며 잠재적으로 다운타임을 초래할 수 있습니다.

Geo 설치

자세히: Tier: Premium, Ultimate Offering: Self-Managed

  • pg_upgrade가 번들로 제공된 PostgreSQL 데이터베이스를 버전 13로 업그레이드하지 못합니다. 자세한 정보 및 해결 방법을 참조하세요.
  • /api/v4/container_registry_event/events 엔드포인트에서 컨테이너 레지스트리 푸시 이벤트가 거부되어 Geo 보조 사이트가 컨테이너 레지스트리 이미지의 업데이트를 인식하지 못하고 결과적으로 업데이트를 복제하지 않습니다. 보조 사이트는 장애 조치(failover) 후 오래된 컨테이너 이미지를 포함할 수 있습니다. 이 문제는 15.6.0 - 15.6.6 버전 및 15.7.0 - 15.7.2를 영향을 줍니다. 컨테이너 저장소를 사용 중이라면, 이 문제에 대한 수정 사항이 포함 된 GitLab 15.6.7, 15.7.3 또는 15.8.0으로 업그레이드하고 장애 조치 후 잠재적인 데이터 손실을 피하세요.
  • 소수의 Geo 설치에 대해 프로젝트 및 위키의 복제 및 검증이 따라가지 못하는 문제를 발견했습니다. 귀하의 설치에서 “대기 중” 상태에 지속적으로 존재하는 프로젝트 및/또는 위키를 본다면, 영향을 받을 수 있습니다. 이는 장애 조치 후 데이터 손실로 이어질 수 있습니다.
    • 영향을 받는 버전: GitLab 버전 15.6.x, 15.7.x, 및 15.8.0 - 15.8.2
    • 수정 사항이 포함된 버전: GitLab 15.8.3 및 이후
  • GitLab 15.4에 도입된 버그로 인해, Gitaly Cluster의 한 개 이상의 Git 저장소가 사용 불가 상태인 경우, 해당 Gitaly Cluster의 모든 프로젝트 또는 프로젝트 위키 저장소에 대한 저장소 확인Geo 복제 및 검증이 실행되지 않습니다. 이 버그는 GitLab 15.9.0에서 변경사항을 되돌리면서 수정되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하세요. 자세한 내용은 버그 이슈를 참조하세요.
  • 보조 사이트에서 LFS 객체를 클론하면, 보조 사이트가 완전히 동기화되었어도 기본 사이트에서 다운로드합니다. 자세한 내용 및 해결 방법을 확인하세요.

15.5.5

  • GitLab 15.4에서 발생한 버그로 인해, Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 영향을 받은 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소에 대한 저장소 검사Geo 복제 및 확인가 중지됩니다. 이 버그는 GitLab 15.9.0에서 변경 사항을 되돌림으로 해결되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.

15.5.4

  • GitLab 15.4에서 발생한 버그로 인해, Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 영향을 받은 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소에 대한 저장소 검사Geo 복제 및 확인가 중지됩니다. 이 버그는 GitLab 15.9.0에서 변경 사항을 되돌림으로 해결되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.

15.5.3

  • GitLab 15.4.0에서는 디폴트 Sidekiq 라우팅 규칙이 모든 작업을 default 대기열로 경로 지정하는 것이 도입되었습니다. 큐 선택기를 사용하는 인스턴스의 경우, 일부 Sidekiq 프로세스가 비활성 상태가 되어 성능 문제가 발생합니다.
    • 디폴트 라우팅 규칙은 15.5.4에서 되돌려졌으므로 해당 버전 또는 그 이후로 업그레이드하면 이전 동작으로 복귀합니다.
    • 현재 추천되지 않는 default 대기열만 수신하는 GitLab 인스턴스의 경우, /etc/gitlab/gitlab.rb에 이 라우팅 규칙을 다시 추가해야 합니다:

      sidekiq['routing_rules'] = [['*', 'default']]
      
  • GitLab 15.4에서 발생한 버그로 인해, Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 영향을 받은 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소에 대한 저장소 검사Geo 복제 및 확인가 중지됩니다. 이 버그는 GitLab 15.9.0에서 변경 사항을 되돌림으로 해결되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.

15.5.2

  • GitLab 15.4.0에서는 디폴트 Sidekiq 라우팅 규칙이 모든 작업을 default 대기열로 경로 지정하는 것이 도입되었습니다. 큐 선택기를 사용하는 인스턴스의 경우, 일부 Sidekiq 프로세스가 비활성 상태가 되어 성능 문제가 발생합니다.
    • 디폴트 라우팅 규칙은 15.5.4에서 되돌려졌으므로 해당 버전 또는 그 이후로 업그레이드하면 이전 동작으로 복귀합니다.
    • 현재 추천되지 않는 default 대기열만 수신하는 GitLab 인스턴스의 경우, /etc/gitlab/gitlab.rb에 이 라우팅 규칙을 다시 추가해야 합니다:

      sidekiq['routing_rules'] = [['*', 'default']]
      
  • GitLab 15.4에서 발생한 버그로 인해, Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 영향을 받은 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소에 대한 저장소 검사Geo 복제 및 확인가 중지됩니다. 이 버그는 GitLab 15.9.0에서 변경 사항을 되돌림으로 해결되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.

15.5.1

  • GitLab 15.4.0에서는 디폴트 Sidekiq 라우팅 규칙이 모든 작업을 default 대기열로 경로 지정하는 것이 도입되었습니다. 큐 선택기를 사용하는 인스턴스의 경우, 일부 Sidekiq 프로세스가 비활성 상태가 되어 성능 문제가 발생합니다.
    • 디폴트 라우팅 규칙은 15.5.4에서 되돌려졌으므로 해당 버전 또는 그 이후로 업그레이드하면 이전 동작으로 복귀합니다.
    • 현재 추천되지 않는 default 대기열만 수신하는 GitLab 인스턴스의 경우, /etc/gitlab/gitlab.rb에 이 라우팅 규칙을 다시 추가해야 합니다:

      sidekiq['routing_rules'] = [['*', 'default']]
      
  • GitLab 15.4에서 발생한 버그로 인해, Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 영향을 받은 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소에 대한 저장소 검사Geo 복제 및 확인가 중지됩니다. 이 버그는 GitLab 15.9.0에서 변경 사항을 되돌림으로 해결되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.

15.5.0

  • GitLab 15.4.0에서는 모든 작업을 default 대기열로 라우팅하는 기본 Sidekiq 라우팅 규칙이 도입되었습니다. 큐 셀렉터를 사용하는 인스턴스의 경우 일부 Sidekiq 프로세스가 비활성 상태가 됨에 따라 성능 문제가 발생합니다.
    • 기본 라우팅 규칙은 15.5.4에서 되돌려졌으므로 해당 버전 이상으로 업그레이드하면 이전 동작으로 돌아갑니다.
    • GitLab 인스턴스가 이제 default 대기열만 수신하는 경우(현재 권장되지 않음), /etc/gitlab/gitlab.rb에 이러한 라우팅 규칙을 추가해야 합니다:

      sidekiq['routing_rules'] = [['*', 'default']]
      
  • GitLab 15.4에서 소개된 버그로, Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 해당 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소의 저장소 확인Geo 복제 및 확인가 실행되지 않습니다. 이 버그는 GitLab 15.9.0에서 변경을 되돌림으로 해결되었습니다. 해당 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하세요. 자세한 정보는 버그 이슈를 참조하세요.

Geo 설치

Tier: 프리미엄, 얼티메이트 Offering: Self-managed
  • pg_upgrade가 번들로 제공되는 PostregSQL 데이터베이스를 버전 13으로 업그레이드하지 못하는 문제가 있습니다. 세부 정보 및 해결 방법을 확인하세요.
  • 보조 사이트에서 LFS 객체를 복제하면 보조 사이트가 완전히 동기화되었을 때에도 기본 사이트에서 다운로드됩니다. 세부 정보 및 해결 방법을 확인하세요.

15.4.6

15.4.5, 15.4.4, 15.4.3

15.4.2

  • 라이선스 캐싱 이슈로 인해 새 라이선스를 추가하면 GitLab의 일부 프리미엄 기능이 올바르게 작동하지 않을 수 있습니다. 이 문제에 대한 해결책:
    • 새 라이선스를 적용한 후 모든 Rails, Sidekiq 및 Gitaly 노드를 다시 시작합니다. 이렇게 하면 관련 라이선스 캐시가 지워지고 모든 프리미엄 기능이 올바르게 작동하게 됩니다.
    • 이 문제에 영향을 받는 버전의 경우 업그레이드 경로가 가능합니다:
      • 15.2.5 –> 15.3.5
      • 15.3.0 - 15.3.4 –> 15.3.5
      • 15.4.1 –> 15.4.3
  • GitLab 15.4에서 발생한 버그로 인해 Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 해당 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소의 저장소 확인Geo 복제 및 확인가 실행되지 않습니다. 이 버그는 GitLab 15.9.0에서 변경 사항을 되돌림으로 해결되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.

15.4.1

  • 라이선스 캐싱 이슈로 인해 새 라이선스를 추가하면 GitLab의 일부 프리미엄 기능이 올바르게 작동하지 않을 수 있습니다. 이 문제에 대한 해결책:
    • 새 라이선스를 적용한 후 모든 Rails, Sidekiq 및 Gitaly 노드를 다시 시작합니다. 이렇게 하면 관련 라이선스 캐시가 지워지고 모든 프리미엄 기능이 올바르게 작동하게 됩니다.
    • 이 문제에 영향을 받는 버전의 경우 업그레이드 경로가 가능합니다:
      • 15.2.5 –> 15.3.5
      • 15.3.0 - 15.3.4 –> 15.3.5
      • 15.4.1 –> 15.4.3
  • GitLab 15.4에서 발생한 버그로 인해 Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 해당 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소의 저장소 확인Geo 복제 및 확인가 실행되지 않습니다. 이 버그는 GitLab 15.9.0에서 변경 사항을 되돌림으로 해결되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.

15.4.0

  • GitLab 15.4.0에는 ci_job_artifacts 테이블의 expire_at에서 잘못된 값 제거를 위한 일괄 배경 마이그레이션이 포함되어 있습니다. 이 마이그레이션은 큰 GitLab 인스턴스에서 수십 시간 또는 수일이 소요될 수 있습니다.
  • 기본적으로 Gitaly 및 Praefect 노드는 pool.ntp.org의 시간 서버를 사용합니다. 인스턴스가 pool.ntp.org에 연결할 수 없는 경우, NTP_HOST 변수를 구성해야 합니다. 그렇지 않으면 로그에서 ntp: read udp ... i/o timeout 오류가 발생하고 gitlab-rake gitlab:gitaly:check의 출력에 오류가 발생할 수 있습니다. 그러나 Gitaly 호스트의 시간이 동기화돼 있는 경우에는 이러한 오류를 무시할 수 있습니다.
  • GitLab 15.4.0에서는 모든 작업을 default 대기열로 라우팅하는 기본 Sidekiq 라우팅 규칙이 도입되었습니다. 대기열 선택기를 사용하는 인스턴스의 경우에는 일부 Sidekiq 프로세스가 유휴 상태가 되어 성능 문제가 발생할 수 있습니다.
    • 기본 라우팅 규칙은 15.4.5에서 되돌아가므로 해당 버전 또는 이후 버전으로 업그레이드하면 이전 동작으로 돌아갑니다.
    • GitLab 인스턴스가 현재 default 대기열만 수신하도록 설정되어 있는 경우(현재 권장되지 않음), /etc/gitlab/gitlab.rb에 이 라우팅 규칙을 추가해야 합니다:

      sidekiq['routing_rules'] = [['*', 'default']]
      
  • /etc/gitlab/gitlab-secrets.json의 구조가 GitLab 15.4에서 수정되었으며, gitlab_pages, grafanamattermost 섹션에 새 구성이 추가되었습니다. 고가용성 또는 GitLab Geo 환경의 경우, 시크릿은 모든 노드에서 동일해야 합니다. 노드 간에 수동으로 시크릿 파일을 동기화하거나 /etc/gitlab/gitlab.rb에 수동으로 시크릿을 지정하는 경우, 모든 노드에서 /etc/gitlab/gitlab-secrets.json이 동일한지 확인하십시오.
  • GitLab 15.4.0에서는 이슈 테이블의 namespace_id 값을 백필하는 일괄 배경 마이그레이션이 도입되었습니다. 이 마이그레이션은 큰 GitLab 인스턴스에서 수십 시간 또는 수일이 걸릴 수 있습니다. 15.7.0 이상으로 업그레이드하기 전에 마이그레이션이 성공적으로 완료되었는지 확인하십시오.
  • GitLab 15.4에서 발생한 버그로 인해 Gitaly 클러스터의 하나 이상의 Git 저장소가 사용 불가 상태인 경우, 해당 Gitaly 클러스터의 모든 프로젝트 또는 프로젝트 위키 저장소의 저장소 확인Geo 복제 및 확인가 실행되지 않습니다. 이 버그는 GitLab 15.9.0에서 변경 사항을 되돌림으로 해결되었습니다. 이 버전으로 업그레이드하기 전에 “사용 불가” 저장소가 있는지 확인하십시오. 자세한 내용은 버그 이슈를 참조하십시오.
  • GitLab 15.4 및 이후 버전에서는 기본적으로 변경된 로그인 페이지를 기본으로 사용합니다. 나중에 개선 사항이 배포될 예정입니다. 자세한 내용은 epic 8557를 참조하십시오. 특성 플래그로 비활성화할 수 있습니다. Rails 콘솔를 시작하고 다음을 실행하십시오:

    Feature.disable(:restyle_login_page)
    

지오프로젝트 설치

Tier: 프리미엄, 얼티메이트 Offering: Self-Managed
  • pg_upgrade가 번들된 PostgreSQL 데이터베이스를 버전 13으로 업그레이드하지 못하는 문제가 발생합니다. 자세한 내용 및 해결책은 여기를 참조하세요.
  • 보조 사이트에서 LFS 객체를 복제할 때, 보조 사이트가 완전히 동기화된 상태일지라도 기본 사이트에서 다운로드합니다. 자세한 내용 및 해결책은 여기를 참조하세요.

15.3.4

라이선스 캐싱 문제로 인해 새 라이선스를 추가하면 GitLab의 일부 프리미엄 기능이 올바르게 작동하지 않을 수 있습니다. 이 문제의 해결책은 다음과 같습니다:

  • 새 라이선스를 적용한 후 모든 Rails, Sidekiq 및 Gitaly 노드를 다시 시작합니다. 이렇게 하면 관련 라이선스 캐시가 지워지며 모든 프리미엄 기능이 올바르게 작동합니다.
  • 이 문제에 영향을 받지 않는 버전으로 업그레이드하세요. 영향을 받는 버전에 대해 사용 가능한 다음 업그레이드 경로가 있습니다:
    • 15.2.5 –> 15.3.5
    • 15.3.0 - 15.3.4 –> 15.3.5
    • 15.4.1 –> 15.4.3

15.3.3

  • GitLab 15.3.3에서 SAML 그룹 링크 API의 access_level 속성 유형이 integer로 변경되었습니다. 자세한 내용은 API 문서를 참조하세요.
  • 라이선스 캐싱 문제로 인해 새 라이선스를 추가하면 GitLab의 일부 프리미엄 기능이 올바르게 작동하지 않을 수 있습니다. 이 문제의 해결책은 다음과 같습니다:

    • 새 라이선스를 적용한 후 모든 Rails, Sidekiq 및 Gitaly 노드를 다시 시작합니다. 이렇게 하면 관련 라이선스 캐시가 지워지며 모든 프리미엄 기능이 올바르게 작동합니다.
    • 이 문제에 영향을 받지 않는 버전으로 업그레이드하세요. 영향을 받는 버전에 대해 사용 가능한 다음 업그레이드 경로가 있습니다:
      • 15.2.5 –> 15.3.5
      • 15.3.0 - 15.3.4 –> 15.3.5
      • 15.4.1 –> 15.4.3

15.3.2

라이선스 캐싱 문제로 인해 새 라이선스를 추가하면 GitLab의 일부 프리미엄 기능이 올바르게 작동하지 않을 수 있습니다. 이 문제의 해결책은 다음과 같습니다:

  • 새 라이선스를 적용한 후 모든 Rails, Sidekiq 및 Gitaly 노드를 다시 시작합니다. 이렇게 하면 관련 라이선스 캐시가 지워지며 모든 프리미엄 기능이 올바르게 작동합니다.
  • 이 문제에 영향을 받지 않는 버전으로 업그레이드하세요. 영향을 받는 버전에 대해 사용 가능한 다음 업그레이드 경로가 있습니다:
    • 15.2.5 –> 15.3.5
    • 15.3.0 - 15.3.4 –> 15.3.5
    • 15.4.1 –> 15.4.3

15.3.1

라이선스 캐싱 문제로 인해 새 라이선스를 추가하면 GitLab의 일부 프리미엄 기능이 올바르게 작동하지 않을 수 있습니다. 이 문제의 해결책은 다음과 같습니다:

  • 새 라이선스를 적용한 후 모든 Rails, Sidekiq 및 Gitaly 노드를 다시 시작합니다. 이렇게 하면 관련 라이선스 캐시가 지워지며 모든 프리미엄 기능이 올바르게 작동합니다.
  • 이 문제에 영향을 받지 않는 버전으로 업그레이드하세요. 영향을 받는 버전에 대해 사용 가능한 다음 업그레이드 경로가 있습니다:
    • 15.2.5 –> 15.3.5
    • 15.3.0 - 15.3.4 –> 15.3.5
    • 15.4.1 –> 15.4.3

15.3.0

  • Gitaly 클러스터에서 생성된 새 Git 저장소는 더 이상 @hashed 저장 경로를 사용하지 않습니다. 새 저장소에 대한 서버 후크를 다른 위치로 복사해야 합니다. Praefect는 이제 Gitaly 클러스터에서 사용할 레플리카 경로를 생성합니다. 이 변경 사항은 Gitaly 클러스터에서 Git 저장소를 원자적으로 생성, 삭제 및 이름 바꾸기 위한 전제조건입니다.

    레플리카 경로를 식별하려면, Praefect 저장소 메타데이터를 조회하여 -relative-path@hashed 저장 경로를 전달합니다.

    이 정보를 사용하여 올바르게 서버 후크를 설치할 수 있습니다.

  • 라이선스 캐싱 문제로 인해 새 라이선스를 추가하면 GitLab의 일부 프리미엄 기능이 올바르게 작동하지 않을 수 있습니다. 이 문제의 해결책은 다음과 같습니다:

    • 새 라이선스를 적용한 후 모든 Rails, Sidekiq 및 Gitaly 노드를 다시 시작합니다. 이렇게 하면 관련 라이선스 캐시가 지워지며 모든 프리미엄 기능이 올바르게 작동합니다.
    • 이 문제에 영향을 받지 않는 버전으로 업그레이드하세요. 영향을 받는 버전에 대해 사용 가능한 다음 업그레이드 경로가 있습니다:
      • 15.2.5 –> 15.3.5
      • 15.3.0 - 15.3.4 –> 15.3.5
      • 15.4.1 –> 15.4.3

지오 프로젝트 설치

Tier: 프리미엄, 얼티메이트 Offering: Self-Managed
  • pg_upgrade가 번들된 PostgreSQL 데이터베이스를 버전 13으로 업그레이드하지 못하는 문제가 발생합니다. 자세한 내용 및 해결책은 여기를 참조하세요.
  • LFS 전송은 보조 사이트에서 기본 사이트로 중간 세션에 리디렉션될 수 있습니다. 자세한 내용과 해결책은 여기를 참조하세요.

LFS 전송이 중간 세션에 보조 사이트로부터 기본 사이트로 리디렉션됨

영향 받는 마이너 릴리스 영향 받는 패치 릴리스 수정 버전
15.1 모두 없음
15.2 모두 없음
15.3 15.3.0 - 15.3.2 15.3.3 및 이후

LFS 전송은 중간 세션에 보조 사이트로부터 기본 사이트로 리디렉션될 수 있으며, GitLab 15.1.0에서 15.3.2에서 Geo 프록시링이 활성화된 상태에서 pull 및 clone 요청이 실패할 수 있습니다. Geo 프록시링은 GitLab 15.1부터 기본적으로 활성화됩니다.

이 문제는 GitLab 15.3.3에서 해결되었으므로 다음 구성을 사용하는 고객은 15.3.3 또는 그 이후 버전으로 업그레이드해야 합니다:

  • LFS가 활성화되어 있음.
  • LFS 객체가 Geo 사이트 간에 복제됨.
  • 리포지토리가 Geo 보조 사이트를 사용하여 가져옴.
  • 보조 사이트에서 LFS 객체를 복제할 때, 보조 사이트가 완전히 동기화된 상태일지라도 기본 사이트에서 다운로드합니다. 자세한 내용과 해결책은 여기를 참조하세요.

Geo 보조 사이트에서의 잘못된 객체 저장소 LFS 파일 삭제

영향을 받는 마이너 릴리스 영향을 받는 패치 릴리스 고침 유무
15.0 모두 없음
15.1 모두 없음
15.2 모두 없음
15.3 15.3.0 - 15.3.2 15.3.3 및 이후

Geo 보조 사이트에서의 객체 저장소 파일 삭제 오류는 다음 상황에서 GitLab 15.0.0부터 15.3.2까지 발생할 수 있습니다:

  • GitLab이 관리하는 객체 저장소 복제가 비활성화되어 있고, 객체 저장소가 활성화된 프로젝트를 가져올 때 LFS 객체가 생성됩니다.
  • GitLab이 관리하는 복제를 사용하여 객체 저장소 동기화를 활성화한 후 비활성화했습니다.

이 문제는 15.3.3에서 해결되었습니다. Geo 사이트 간에 LFS가 사용되고 LFS 객체가 복제되는 고객은 보조 사이트에서의 데이터 손실 위험을 줄이기 위해 직접 15.3.3으로 업그레이드해야 합니다.

15.2.5

라이선스 캐싱 문제로 인해 새 라이선스를 추가하면 GitLab의 일부 프리미엄 기능이 올바르게 작동하지 않을 수 있습니다. 이 문제에 대한 해결책은 다음과 같습니다:

  • 새 라이선스를 적용한 후 모든 Rails, Sidekiq 및 Gitaly 노드를 다시 시작합니다. 이렇게 하면 관련 라이선스 캐시가 지워지고 모든 프리미엄 기능이 올바르게 작동합니다.
  • 이 문제에 영향을 받은 버전을 업그레이드합니다. 영향을 받는 버전에 대한 다음 업그레이드 경로가 가능합니다:
    • 15.2.5 –> 15.3.5
    • 15.3.0 - 15.3.4 –> 15.3.5
    • 15.4.1 –> 15.4.3

15.2.0

  • 여러 웹 노드가 있는 GitLab 설치는 무결성이 없는 ETag 키 생성으로 이어질 수 있는 Rails 구성 변경으로 인해 15.2(이상)로 업그레이드하기 전에 먼저 15.1(으)로 업그레이드해야 합니다.
  • 이 릴리스에서 일부 Sidekiq 워커가 이름이 변경되었습니다. 중단을 방지하려면 GitLab 15.2.0으로의 업그레이드를 시작하기 전에 보류 중인 작업을 이주하는 Rake 작업을 실행해야 합니다.
  • Gitaly는 이제 실행 위치에서 이진 파일을 실행합니다. Omnibus GitLab 기본값에서 이 경로는 /var/opt/gitlab/gitaly/run/입니다. 이 위치에 noexec가 마운트된 경우, 병합 요청에서 다음 오류가 발생합니다:

    fork/exec /var/opt/gitlab/gitaly/run/gitaly-<nnnn>/gitaly-git2go-v15: permission denied
    

    이 문제를 해결하려면 파일 시스템 마운트에서 noexec 옵션을 제거합니다. 대안은 Gitaly 실행 디렉토리를 변경하는 것입니다:

    1. /etc/gitlab/gitlab.rbgitaly['runtime_dir'] = '<실행_권한 있는_경로>'를 추가하고 noexec를 설정하지 않은 위치를 지정합니다.
    2. sudo gitlab-ctl reconfigure을 실행합니다.

Geo 설치

Tier: 프리미엄, 얼티밋 Offering: Self-managed
  • pg_upgrade가 번들로 제공되는 PostregSQL 데이터베이스를 버전 13으로 업그레이드하지 못합니다. 세부 정보와 해결 방법을 확인하세요.
  • LFS 전송은 세컨더리 사이트에서 주간 중간에 주 기본으로 리디렉션될 수 있습니다. 상세 정보 및 해결 방법을 확인하세요.
  • Geo 보조 사이트에서의 잘못된 객체 저장소 LFS 파일 삭제. 상세 정보 및 해결 방법을 확인하세요.
  • 보조 사이트가 완전히 동기화되어 있더라도 보조 사이트에서 LFS 객체를 복제하면 기본 사이트에서 다운로드될 수 있습니다. 상세 정보와 해결 방법을 확인하세요.

15.1.0

  • GitLab 15.1.0에서는 Rails ActiveSupport::Digest를 MD5 대신 SHA256으로 변경합니다. 이는 로우 스니펫 파일 다운로드와 같은 리소스에 대한 일관된 ETag 키 생성에 영향을 줍니다. 업그레이드할 때 여러 웹 노드에서 일관된 ETag 키 생성을 보장하기 위해 모든 서버가 먼저 15.1.6으로 업그레이드되어야 합니다:
    1. 모든 GitLab 웹 노드가 GitLab 15.1.6를 실행 중인지 확인합니다.
    2. GitLab on Kubernetes를 사용하여 클라우드 네이티브 GitLab Helm 차트를 사용하는 경우 Webservice 팟이 GitLab 15.1.Z를 실행 중인지 확인합니다:

      kubectl get pods -l app=webservice -o custom-columns=webservice-image:{.spec.containers[0].image},workhorse-image:{.spec.containers[1].image}
      
    3. active_support_hash_digest_sha256 기능 플래그를 활성화하여 ActiveSupport::Digest를 SHA256으로 전환합니다:
      1. 레일즈 콘솔을 실행합니다.
      2. 기능 플래그를 활성화합니다:

        Feature.enable(:active_support_hash_digest_sha256)
        
    4. 이후에야 GitLab의 이후 버전으로 업그레이드하십시오.
  • ciConfig GraphQL 필드에 무인증 요청을 더 이상 지원하지 않습니다. GitLab 15.1로 업그레이드하기 전에 요청에 액세스 토큰을 추가하세요. 토큰을 생성하는 사용자는 프로젝트에서 파이프라인을 생성할 수 있는 권한을 가져야 합니다.

Geo 설치

Tier: 프리미엄, 얼티메이트 Offering: Self-managed

15.0.0

  • Elasticsearch 6.8은 더 이상 지원되지 않습니다. GitLab 15.0으로 업그레이드하기 전에 Elasticsearch를 7.x 버전 중 하나로 업데이트하십시오.
  • 외부 PostgreSQL(특히 AWS RDS)에서 GitLab을 실행하는 경우, GitLab 14.8 이상으로 업그레이드하기 전에 PostgreSQL을 최소 12.7 또는 13.3 패치 수준으로 업그레이드해야 합니다. 14.8에서는 GitLab 엔터프라이즈 에디션 및 15.0에서는 GitLab 커뮤니티 에디션에 Loose Foreign Keys라는 GitLab 기능이 활성화되었습니다.

    활성화된 후에는 데이터베이스 엔진 버그로 인해 계획되지 않은 PostgreSQL 재시작이 발생하여 분할 오류가 발생하였다는 보고가 접수되었습니다.

    자세한 정보는 issue 364763를 참조하십시오.

  • 저장소별 구성으로 암호화된 S3 버킷 사용이 더 이상 지원되지 않습니다.
  • 인증서 기반의 Kubernetes 통합 (DEPRECATED)은 기본 설정에서 비활성화되었지만, GitLab 16.0까지 certificate_based_clusters 기능 플래그를 통해 다시 활성화할 수 있습니다.
  • GitLab Helm 차트 프로젝트를 사용하는 경우 사용자 정의 serviceAccount를 사용하는 경우, serviceAccountsecret 리소스에 대해 getlist 권한이 있는지 확인하십시오.
  • FF_GITLAB_REGISTRY_HELPER_IMAGE 기능 플래그가 제거되고, 헬퍼 이미지는 항상 GitLab 레지스트리에서 가져옵니다.

Linux 패키지 설치

  • 전역 서버 후크를 구성하는 custom_hooks_dir 설정은 이제 Gitaly에서 구성됩니다. 이전에 GitLab Shell에서 구현되었던 것은 GitLab 15.0에서 삭제되었습니다. 이 변경으로 전역 서버 후크는 후크 유형별 하위 디렉터리에만 저장됩니다. 예를 들어 <custom_hooks_dir>/<hook_name>.d/* 대신 <custom_hooks_dir>/<hook_name> 대신 사용해야 합니다.
    • Omnibus GitLab의 경우 gitlab.rb에서 gitaly['custom_hooks_dir']을 사용하십시오. 이는 gitlab_shell['custom_hooks_dir']를 대체합니다.
  • Fresh 설치의 기본 버전으로 PostgreSQL 13.6이 제공되고, 업그레이드의 경우에는 12.10이 제공됩니다. 업그레이드 문서를 참조하여 수동으로 PostgreSQL 13.6로 업그레이드할 수 있습니다. PostgreSQL 12가 제거될 때까지 호환성 또는 테스트 환경상의 이유로 필요한 경우 패키지화된 PostgreSQL 버전을 고정할 수 있습니다. 장애 허용 및 Geo 설치는 추가 단계와 계획을 필요로 합니다. 기본 구조적 변경으로 PostgreSQL 프로세스를 업그레이드한 후에 데이터베이스 마이그레이션을 실행하기 전에 반드시 PostgreSQL 프로세스를 재시작해야 합니다. 자동 재시작을 건너뛴 경우 마이그레이션을 실행하기 전에 다음 명령을 실행해야 합니다. ```shell # PostgreSQL을 사용하는 경우 sudo gitlab-ctl restart postgresql

    데이터베이스 복제용 Patroni를 사용하는 경우

    sudo gitlab-ctl restart patroni ``` PostgreSQL을 재시작하지 않으면 라이브러리 로딩과 관련된 오류가 발생할 수 있습니다.

  • GitLab 15.0부터 PostgreSQL 버전이 변경되면 postgresqlgeo-postgresql 서비스가 자동으로 다시 시작됩니다. PostgreSQL 서비스를 다시 시작하면 일시적으로 데이터베이스를 사용할 수 없어 연산을 수행할 수 없게 되어 다운타임이 발생합니다. 이러한 재시작은 데이터베이스 서비스의 적절한 동작을 위해 필수적이지만 PostgreSQL이 재시작되는 시점을 더욱 관리하고 싶을 수 있습니다. 이를 위해 gitlab-ctl reconfigure의 일환으로 PostgreSQL이 자동으로 재시작하는 것을 건너뛰고 수동으로 서비스를 다시 시작할 수 있습니다. GitLab 15.0 업그레이드의 일환으로 자동 재시작을 건너뛰려면 업그레이드 전에 다음 단계를 수행하십시오:
    1. /etc/gitlab/gitlab.rb를 편집하고 다음 라인을 추가하십시오: ```ruby # PostgreSQL/Patroni용 postgresql[‘auto_restart_on_version_change’] = false

      Geo PostgreSQL용

      geo_postgresql[‘auto_restart_on_version_change’] = false ```

    2. GitLab을 재구성합니다: shell sudo gitlab-ctl reconfigure 참고: 기존 버전 변경에 따른 PostgreSQL 재시작은 다운타임을 방지하기 위해 필수적입니다. 데이터베이스를 사용하도록 재시작을 건너뛸 경우 필요한 라이브러리 로딩과 관련된 오류와 같은 오류가 발생할 수 있습니다. 따라서 위의 방법을 사용하여 자동 재시작을 건너뛴 경우 반드시 GitLab 15.0으로 업그레이드하기 전에 서비스를 수동으로 재시작해야 합니다.

  • GitLab 15.0부터 AES256-GCM-SHA384 SSL 암호는 NGINX에서 기본적으로 허용되지 않습니다. 이 암호가 필요한 경우 (예: AWS의 Classic Load Balancer 사용 시) 다음 단계를 따라 암호를 다시 허용 목록에 추가할 수 있습니다:
    1. /etc/gitlab/gitlab.rb를 편집하고 다음 라인을 추가하십시오: ruby nginx['ssl_ciphers'] = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:AES256-GCM-SHA384"
    2. GitLab을 재구성합니다: shell sudo gitlab-ctl reconfigure
  • Gitaly의 내부 소켓 경로 지원이 제거되었습니다. GitLab 14.10에서 Gitaly는 올바르게 작동하기 위해 필요한 모든 런타임 데이터를 보유한 새 디렉터리를 도입했습니다. 이 새로운 디렉터리는 이전 내부 소켓 디렉터리를 대체하며, 따라서 gitaly['internal_socket_dir']의 사용이 폐기되어 gitaly['runtime_dir']를 사용하도록 변경되었습니다. 이전의 gitaly['internal_socket_dir'] 구성은 이번 릴리스에서 제거되었습니다.
  • 객체 저장소에 대한 백그라운드 업로드 설정이 제거되었습니다. 객체 저장소는 이제 직접 업로드를 선호합니다. /etc/gitlab/gitlab.rb에서 다음 키는 더 이상 지원되지 않습니다:
    • gitlab_rails['artifacts_object_store_direct_upload']
    • gitlab_rails['artifacts_object_store_background_upload']
    • gitlab_rails['external_diffs_object_store_direct_upload']
    • gitlab_rails['external_diffs_object_store_background_upload']
    • gitlab_rails['lfs_object_store_direct_upload']
    • gitlab_rails['lfs_object_store_background_upload']
    • gitlab_rails['uploads_object_store_direct_upload']
    • gitlab_rails['uploads_object_store_background_upload']
    • gitlab_rails['packages_object_store_direct_upload']
    • gitlab_rails['packages_object_store_background_upload']
    • gitlab_rails['dependency_proxy_object_store_direct_upload']
    • gitlab_rails['dependency_proxy_object_store_background_upload']

자체 컴파일 설치

  • GitLab에는 더 많은 데이터베이스를 지원하는 기능이 추가되었습니다. 자체 컴파일(소스) 설치의 경우,   config/database.yml에 데이터베이스 구성에 데이터베이스 이름을 추가해야합니다.   main: database가 먼저 있어야합니다. 잘못된 또는 폐기된 구문을 사용하면 응용 프로그램을 시작하는 동안 오류가 생성됩니다:

  plaintext   ERROR: This installation of GitLab uses unsupported 'config/database.yml'.   The main: database needs to be defined as a first configuration item instead of primary. (RuntimeError)  

  이전에 config/database.yml 파일은 다음과 같았습니다:

  yaml   production:     adapter: postgresql     encoding: unicode     database: gitlabhq_production     ...  

  GitLab 15.0부터는 먼저 main 데이터베이스를 정의해야합니다:

  yaml   production:     main:       adapter: postgresql       encoding: unicode       database: gitlabhq_production       ...  

Geo 설치

Tier: Premium, Ultimate Offering: Self-managed
  • Geo 보조 사이트에서 잘못된 객체 저장소 LFS 파일 삭제. 자세한 내용 및 해결 방법은   세부 정보와 해결 방법을 참조하십시오.