버전별 폐기 및 제거 사항

다음은 더 이상 권장하지 않는 것들로 폐기된 GitLab의 기능입니다.

  • 각각의 폐기된 기능은 향후 릴리스에서 제거될 것입니다.
  • 제거될 때 일부 기능은 파손된 변경이 발생합니다.
  • GitLab.com에서 폐기된 기능은 릴리스가 진행되는 한 달 동안 언제든지 제거될 수 있습니다.

이 폐기 정보를 고급 검색 및 필터링하려면, 저희 고객 성공 팀이 개발한 도구를 사용해보세요.

REST API 폐기GraphQL 폐기 는 별도로 문서화되어 있습니다.

다가오는 파손적인 변경 사항을 알림 받으려면, 이 URL을 RSS 피드 리더에 추가하세요: https://about.gitlab.com/breaking-changes.xml

GitLab 18.0

Atlassian Crowd OmniAuth 제공자

  • GitLab 15.3에서 발표됨
  • GitLab 18.0에서 제거됨 (파손 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 확인하세요.

GitLab에 Atlassian Crowd OmniAuth 제공자를 제공하는 omniauth_crowd 젬은 다음 주요 릴리스인 GitLab 18.0에서 제거될 것입니다. 이 젬은 사용도 거의 없고, OmniAuth 2.0과의 호환성 부재업그레이드를 차단하고 있습니다.

보호된 변수와 다중 프로젝트 파이프라인을 위한 동작 변경

  • GitLab 16.10에서 발표됨
  • GitLab 18.0에서 제거됨 (파손 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 확인하세요.

일부 경우에는 프로젝트의 충분한 권한을 가진 사용자가 보호된 변수를 보안되지 않은 프로젝트로 전달할 수 있기 때문에, 이 변경 사항은 보호된 변수 값이 노출되는 위험을 최소화하는 보안 향상입니다.

하류 파이프라인을 통해 CI/CD 변수를 전달하는 것은 일부 워크플로에 유용하지만, 보호된 변수는 추가적인 주의가 필요합니다. 이들은 특정 보호된 브랜치 또는 태그에서만 사용하도록 되어 있습니다.

GitLab 18.0에서, 변수 전달은 보호된 변수가 특정 상황에서만 전달되도록 업데이트될 것입니다:

  • 프로젝트 수준의 보호된 변수는 동일한 프로젝트(하위 파이프라인)의 하류 파이프라인으로만 전달될 수 있습니다.
  • 그룹 수준의 보호된 변수는 소스 프로젝트와 동일한 그룹에 속한 프로젝트의 하류 파이프라인으로만 전달될 수 있습니다.

파이프라인이 보호된 변수를 전달하는 경우, 구성을 업데이트하여 위의 두 옵션에 준수하거나 보호된 변수를 전달하지 않도록하세요.

기본 CI/CD 작업 토큰(CI_JOB_TOKEN) 범위가 변경되었습니다

GitLab 14.4에서 저희는 프로젝트의 CI/CD 작업 토큰(CI_JOB_TOKEN) 액세스를 제한할 수 있는 기능을 소개했습니다. 이를 통해 보안 수준을 높일 수 있습니다. 프로젝트의 파이프라인에서만 작업 토큰을 사용하여 다른 프로젝트에 액세스하는 것을 방지할 수 있습니다. 이 설정을 사용하면 파이프라인에서 다른 프로젝트에 액세스할 수 없습니다. 파이프라인에서 작업 토큰을 사용하여 다른 프로젝트에 액세스하려면 해당 프로젝트를 명시적으로 Limit CI_JOB_TOKEN access(제한된 CI_JOB_TOKEN 액세스) 설정의 허용 목록에 나열해야 하며, 해당 프로젝트의 유지 관리자여야 합니다.

15.9에서 작업 토큰 기능이 업데이트되어 더 나은 보안 설정을 가지고 있습니다. 작업 토큰을 사용하여 프로젝트에 액세스를 허용할 수 있습니다. 이전 설정과 유사하게, Allow access to this project with a CI_JOB_TOKEN(이 프로젝트에 대한 CI_JOB_TOKEN 액세스를 허용) 설정의 허용 목록에 해당 프로젝트를 명시적으로 나열하여 해당 프로젝트에 작업 토큰으로 액세스할 수 있게 할 수 있습니다. 이 새로운 설정에서는 자신의 프로젝트에서는 유지 관리자이어야 하지만, 다른 프로젝트에서는 게스트 역할만 가질 필요가 있습니다.

16.0에서 Limit 설정은 더 나은 Allow access 설정을 선호하는 방식으로 사용되며, 모든 새 프로젝트에 대해 Limit 설정은 기본적으로 비활성화되어 있습니다. 이 시점부터, Limit 설정이 비활성화된 프로젝트에서는 16.0 이후에 이 설정을 다시 활성화할 수 없습니다.

18.0에서 Limit 설정을 완전히 제거하고, 모든 프로젝트에 대해 Allow access 설정을 활성화합니다. 이 변경으로 프로젝트 간의 보안 수준이 더 높아집니다. 현재 Limit 설정을 사용 중이면, 여러분의 프로젝트를 Allow access 설정을 사용하도록 업데이트해야 합니다. 다른 프로젝트가 여러분의 프로젝트에 작업 토큰으로 액세스하는 경우, 해당 프로젝트를 Allow access 허용 목록에 추가해야 합니다.

이 변경에 대비하기 위해, GitLab.com 또는 이후의 GitLab 15.9에서 사용자는 지금 Allow access 설정을 활성화하고 다른 프로젝트를 추가할 수 있습니다. 18.0 이후에는 이 설정을 비활성화할 수 없습니다.

16.3에서 이러한 설정의 이름이 명확하게 하기 위해 변경되었습니다: 이제 사용되지 않는 Limit CI_JOB_TOKEN access(제한된 CI_JOB_TOKEN 액세스) 설정은 이제 이 프로젝트로부터의 액세스 제한(Limit access from this project)으로, 새로운 Allow access to this project with a CI_JOB_TOKEN(이 프로젝트에 대한 CI_JOB_TOKEN 액세스 허용) 설정은 이제 이 프로젝트로부터의 액세스 제한(Limit access to this project)으로 불립니다.

라이센스 스캐닝 CI/CD 아티팩트 보고 유형 사용 중단

CI/CD 아티팩트 보고서 유형은 GitLab 16.9에서 사용 중단되었으며, GitLab 18.0에서 제거될 예정입니다. 이 키워드를 사용한 CI/CD 구성은 GitLab 18.0에서 작동하지 않게 될 것입니다.

이 아티팩트 보고서 유형은 GitLab 16.3에서 레거시 라이센스 스캐닝 CI/CD 작업이 제거되었기 때문에 더 이상 사용되지 않습니다. 대신 CycloneDX 파일의 라이센스 스캔을 사용해야 합니다.

Terraform CI/CD 템플릿 사용 중단

Terraform CI/CD 템플릿은 GitLab 18.0에서 사용 중단되며 제거될 예정입니다. 다음과 같은 템플릿에 영향을 미칩니다:

  • Terraform.gitlab-ci.yml
  • Terraform.latest.gitlab-ci.yml
  • Terraform/Base.gitlab-ci.yml
  • Terraform/Base.latest.gitlab-ci.yml

GitLab 16.9에서 이러한 템플릿에 경고를 표시하는 새로운 작업이 추가되었습니다.

GitLab은 작업 이미지에서 terraform 이진 파일을 BSL에 따라 라이선스가 부여된 버전으로 업데이트할 수 없습니다.

Terraform을 계속 사용하려면 템플릿 및 [Terraform 이미지(https://gitlab.com/gitlab-org/terraform-images)를 복제하여 필요에 따라 유지보수해야 합니다.

대신, GitLab.com에서는 새로운 OpenTofu CI/CD 구성을 사용할 것을 권장합니다. 또는 오픈형 메뉴 구성을 사용하실 수 있습니다. 현재 CI/CD 구성은 GitLab 오픈형 메뉴 구성을 사용할 수 없지만, Issue #415638에서 이 기능을 추가하도록 제안되었습니다. CI/CD 구성이 self-managed에서 사용 가능하게 되면 오픈형 메뉴 CI/CD 템플릿이 제거될 것입니다.

새로운 오픈형 메뉴 CI/CD 구성에 대해 더 읽어보세요 여기.

라이센스 메타데이터 형식 V1 퇴거

  • GitLab 16.9에서 발표됨
  • GitLab 18.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 퇴거 이슈를 참조하세요.

라이센스 메타데이터 형식 V1 데이터셋이 퇴거되어 GitLab 18.0에서 제거될 예정입니다.

package_metadata_synchronization 기능 플래그를 활성화한 사용자는 GitLab 16.3 이상으로 업그레이드하고, 해당 기능 플래그 구성을 제거할 것을 권장합니다.

GitLab Runner 등록 토큰 in Runner Operator

  • GitLab 15.6에서 발표됨
  • GitLab 18.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 퇴거 이슈를 참조하세요.

OpenShift 및 Kubernetes Vanilla Operator를 사용하여 Kubernetes에 러너를 설치하는 데 사용되는 runner-registration-token 매개변수가 퇴거됩니다. 인증 토큰이 대신하여 러너를 등록하는 데 사용될 것입니다. 등록 토큰 및 특정 구성 매개변수에 대한 지원은 제거될 것이며, GitLab 18.0에서 제거될 예정입니다. 자세한 내용은 새로운 러너 등록 워크플로우로 마이그레이션을 참조하세요. 인증 토큰을 사용하여 비활성화된 구성 매개변수는 다음과 같습니다:

  • --locked
  • --access-level
  • --run-untagged
  • --tag-list

이 변경 사항은 중요한 변경 사항입니다. gitlab-runner register 명령어에서 인증 토큰을 사용해야합니다.

컨테이너 레지스트리 저장소 태그 API 엔드포인트 페이지네이션

  • GitLab 16.10에서 발표됨
  • GitLab 18.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 퇴거 이슈를 참조하세요.

컨테이너 레지스트리 REST API를 사용하여 레지스트리 저장소 태그 목록을 얻을 수 있습니다. 이 엔드포인트를 개선하여 더 많은 메타데이터 및 향상된 정렬 및 필터링과 같은 새로운 기능을 추가할 계획입니다.

이미 이 엔드포인트에 대해 오프셋 기반 페이지네이션이 가능했지만, GitLab 16.10에서 GitLab.com에 대해서만 키셋 기반 페이지네이션이 도입되었습니다. 이제 이게 우선적인 페이지네이션 방법입니다.

GitLab 16.10에서 레지스트리 저장소 태그 목록 엔드포인트의 오프셋 기반 페이지네이션이 퇴거되어 18.0에서 제거될 예정입니다. 대신 키셋 기반 페이지네이션을 사용하세요.

gitlab-runner register 명령어의 등록 토큰 및 서버 측 러너 인수

  • GitLab 15.6에서 발표됨
  • GitLab 18.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 퇴거 이슈를 참조하세요.

런너를 등록하는 gitlab-runner register 명령어에서의 등록 토큰 및 특정 구성 인수가 퇴거되었습니다. 인증 토큰이 대신하여 러너를 등록하는 데 사용될 것입니다. 등록 토큰 및 특정 구성 매개변수에 대한 지원은 제거될 것이며, GitLab 18.0에서 제거될 예정입니다. 자세한 내용은 새로운 러너 등록 워크플로우로 마이그레이션을 참조하세요. 인증 토큰을 사용하여 비활성화된 구성 인수는 다음과 같습니다:

  • --locked
  • --access-level
  • --run-untagged
  • --maximum-timeout
  • --paused
  • --tag-list
  • --maintenance-note

이 변경 사항은 중요한 변경 사항입니다. 구성을 추가하려면 UI에서 러너를 만들고, gitlab-runner register 명령어에서 인증 토큰을 사용하세요.

단일 데이터베이스 실행이 폐기되었습니다

  • GitLab 16.1에서 발표됨
  • GitLab 18.0에서 제거될 예정 (변경 사항)
  • 이 변경 사항에 대해 토론하거나 더 자세한 내용을 알아보려면 폐기 문제를 참조하세요.

GitLab 18.0부터는 CI 기능을 위한 별도의 데이터베이스가 필요합니다. 대부분의 배포를 위한 관리 용이성 때문에 두 데이터베이스를 동일한 Postgres 인스턴스에 실행하는 것을 권장합니다.

이것은 정보를 미리 알리는 공지이지만 아직 조치를 취할 것을 권장하지는 않습니다. 마이그레이션 프로세스를 시작하도록 시스템 관리자에게 권장할 때까지 다른 업데이트와 폐기 주의 사항이 통보될 것입니다.

이 변경 사항은 GitLab.com과 같은 대규모 GitLab 인스턴스에 대한 확장성을 제공합니다. 이 변경 사항은 Omnibus GitLab, GitLab Helm 차트, GitLab Operator, GitLab Docker 이미지 및 소스에서의 설치에 적용됩니다. GitLab 18.0으로 업그레이드하기 전에 두 데이터베이스로 마이그레이션했는지 확인하세요.

쿠버네티스와의 자체 관리 인증서 기반 통합

  • GitLab 14.5에서 발표됨
  • GitLab 18.0에서 제거될 예정 (변경 사항)
  • 이 변경 사항에 대해 토론하거나 더 자세한 내용을 알아보려면 폐기 문제를 참조하세요.

쿠버네티스와의 인증서 기반 통합이 폐기될 예정입니다.

자체 관리 고객을 위해 우리는 GitLab 15.0에서 certificate_based_clusters 기능 플래그를 소개하여 인증서 기반 통합을 유지할 수 있도록 했습니다. 그러나 이 기능 플래그는 기본적으로 비활성화되므로 이 변경 사항은 breaking change입니다.

GitLab 18.0에서는 이 기능과 해당 관련 코드를 모두 제거할 예정입니다. 기능 플래그를 활성화하면 이 통합을 기반으로 한 기능은 계속 작동할 예정입니다. 기능이 제거될 때까지, GitLab은 플래그를 활성화하면 계속해서 보안 및 중요한 문제를 해결할 것입니다.

보다 견고하고 안전하며 신뢰할 수 있고 미래 지향적인 쿠버네티스와의 통합을 위해 쿠버네티스 클러스터를 GitLab에 연결하는 에이전트를 사용하는 것을 권장합니다. 어떻게 마이그레이션하나요?

명시적인 제거 날짜가 설정되었지만, 이 기능은 새로운 솔루션과 기능 동등성이 달성될 때까지 제거할 계획은 없습니다. 제거에 대한 블로커에 대한 자세한 내용은 이 문제를 참조하세요.

이 폐기에 대한 업데이트 및 상세 정보는 이 에픽을 팔로우하세요.

Slack 알림 통합

  • GitLab 15.9에서 발표됨
  • GitLab 18.0에서 제거될 예정 (변경 사항)
  • 이 변경 사항에 대해 토론하거나 더 자세한 내용을 알아보려면 폐기 문제를 참조하세요.

모든 Slack 기능을 GitLab for Slack 앱으로 통합하고 있기 때문에 Slack 알림 통합을 폐기했습니다. Slack 워크스페이스로의 알림 관리를 위해 GitLab for Slack 앱을 사용하세요.

러너 등록 토큰을 재설정하는 REST API 엔드포인트 지원

  • GitLab 15.7에서 발표됨
  • GitLab 18.0에서 제거될 예정 (변경 사항)
  • 이 변경 사항에 대해 토론하거나 더 자세한 내용을 알아보려면 폐기 문제를 참조하세요.

러너 등록 토큰을 지원하는 것이 폐기되었습니다. 따라서 등록 토큰을 재설정하는 REST API 엔드포인트도 폐기되며 GitLab 18.0에서 HTTP 410 Gone 상태 코드를 반환할 것입니다. 폐기된 엔드포인트는 다음과 같습니다:

  • POST /runners/reset_registration_token
  • POST /projects/:id/runners/reset_registration_token
  • POST /groups/:id/runners/reset_registration_token

우리는 새로운 GitLab 러너 토큰 아키텍처의 일환으로 러너를 GitLab 인스턴스에 바인딩하기 위한 새로운 방법을 구현할 계획입니다. 이 작업은 이 에픽에서 계획 중에 있습니다. 새로운 아키텍처는 러너 등록 토큰을 제거하고 레거시 러너 등록 토큰을 제거할 것입니다. GitLab 18.0 이후로는 새로운 GitLab 러너 토큰 아키텍처로 구현된 러너 등록 방법만 지원될 것입니다.

Project.services GraphQL 필드가 사용되지 않음

Project.services GraphQL 필드가 사용되지 않습니다. 대신 이슈 389904에서 Project.integrations 필드가 제안되었습니다.

ciJobTokenScopeRemoveProjectdirection GraphQL 인수가 사용되지 않음

ciJobTokenScopeRemoveProject 뮤테이션의 direction GraphQL 인수가 사용되지 않습니다. GitLab 15.9에서 발표된 기본 CI/CD 작업 토큰 범위 변경에 따라, direction 인수는 기본적으로 INBOUND로 설정되며, GitLab 17.0에서 OUTBOUND는 더 이상 유효하지 않을 것입니다. 우리는 GitLab 18.0에서 direction 인수를 제거할 예정입니다.

OUTBOUND를 사용하여 프로젝트 토큰 액세스의 방향을 제어하는 경우, 작업 토큰을 사용하는 파이프라인은 인증에 실패할 수 있습니다. 파이프라인이 예상대로 실행되도록 하려면, 프로젝트의 허용 목록에 다른 프로젝트를 명시적으로 추가해야 합니다.

GitLab Runner Helm 차트의 runnerRegistrationToken 매개변수

GitLab Helm 차트를 사용하여 Kubernetes에 러너를 설치하는 데 사용되는 runnerRegistrationToken 매개변수가 사용되지 않습니다.

우리는 새로운 GitLab 러너 토큰 아키텍처를 활용하여 러너를 GitLab 인스턴스에 바인딩하는 새로운 방법을 구현할 계획입니다. 해당 업무는 이 에픽에서 계획 중입니다.

GitLab 18.0 이후, 새로운 GitLab 러너 토큰 아키텍처에서 소개된 러너 등록 방법만 지원될 것입니다.

</div>

GitLab 17.0

공개 프로젝트용 ‘repository_download_operation’ 감사 이벤트 유형

현재 모든 프로젝트 다운로드에 대해 데이터베이스에 repository_download_operation 감사 이벤트 유형이 저장됩니다. 공개 프로젝트의 경우, 이 감사 이벤트는 인증되지 않은 사용자에 의해 트리거될 수 있기 때문에 감사 목적에 가장 유용하지는 않습니다.

GitLab 17.0부터 repository_download_operation 감사 이벤트 유형은 비공개 또는 내부 프로젝트에 대해서만 트리거될 것입니다. 우리는 공개 프로젝트 다운로드를 위해 public_repository_download_operation이라는 새로운 감사 이벤트 유형을 추가할 것입니다. 이 새로운 감사 이벤트 유형은 스트림만 지원될 것입니다.

쿠버네티스 옵션 ca-cert-file을 Agent에서 --kas-ca-cert-file로 변경했습니다

GitLab 쿠버네티스 에이전트(agentk)에서 --ca-cert-file 커맨드 라인 옵션과 해당하는 config.caCert Helm 차트 값이 각각 --kas-ca-cert-fileconfig.kasCaCert로 이름이 변경되었습니다.

기존의 --ca-cert-fileconfig.caCert 옵션은 사용이 중지되었으며, GitLab 17.0에서 제거될 것입니다.

Herokuish에 대한 Auto DevOps 지원이 제거됨

Herokuish에 대한 Auto DevOps 지원이 Cloud Native Buildpacks를 선호하는 방향으로 사용이 중지되었습니다. Herokuish에서 Cloud Native Buildpacks로 빌드를 이전해야 합니다. GitLab 14.0부터 Auto Build는 기본적으로 Cloud Native Buildpacks를 사용합니다.

Cloud Native Buildpacks는 자동 테스트를 지원하지 않기 때문에 Auto DevOps의 Auto Test 기능도 사용이 중지되었습니다.

대시(-) 문자와 함께 자동 생성된 마크다운 앵커 링크들

GitLab은 모든 제목에 대해 자동으로 앵커 링크를 생성하여 마크다운 문서나 위키 페이지의 특정 위치로 연결할 수 있습니다. 그러나 경우에 따라 자동으로 생성된 앵커가 사용자가 기대하는 것보다 더 적은 대시(-) 문자로 생성됩니다. 예를 들어 ## Step - 1 제목의 경우, 대부분의 다른 마크다운 도구 및 린터는 #step---1를 기대할 것입니다. 그러나 GitLab은 연속된 대시를 하나로 압축한 #step-1 앵커를 생성합니다.

GitLab 17.0에서는 우리의 자동 생성된 앵커를 업계 표준에 맞추기 위해 연속된 대시를 더 이상 제거하지 않음으로써 조정할 것입니다. 따라서 17.0에서 여러 개의 대시가 있는 제목에 연결된 경우, 이러한 경계 조건이 계속 작동하도록 제목을 업데이트해야 합니다. 위 예시에서 ## Step - 1## Step 1로 변경하여 페이지 내 링크가 계속 작동하도록 보장할 수 있습니다.

GET /projects/:id/ci/lint에서 ref 및 sha를 함께 사용하는 것을 차단

모호성 문제로 GET /projects/:id/ci/lint에서 refsha를 동시에 사용하는 것을 사용 중지했습니다. 이 엔드포인트에 대한 API 호출에서는 ref 또는 sha만 사용하도록하며 두 가지를 동시에 사용하는 것은 더 이상 가능하지 않을 것입니다. 올바른 ref 또는 SHA가 유효하게 lint되도록 하기 위해 GitLab 17.0에서 이들을 동시에 사용하는 것은 더 이상 불가능할 것입니다.

Maven 저장소 그룹 권한에 대한 중대한 변경 사항

  • GitLab 16.6에서 발표됨
  • GitLab 17.0에서 제거 예정 (중대한 변경)
  • 이 변경 사항을 논의하거나 자세한 정보를 알아보려면, 제거 문제를 참조하세요.

Maven 저장소는 Maven 클라이언트가 특정 패키지에서 파일을 다운로드할 수 있게 하는 API 엔드포인트를 그룹 수준에서 노출합니다. 패키지 파인더는 먼저 그룹 내에서 패키지를 찾은 다음 패키지 내에서 파일을 찾습니다. 그러나 여러 프로젝트에 호스팅된 중복 패키지 이름에 영향을 주는 제한 사항이 있습니다. Maven 패키지 파인더는 항상 가장 최근의 패키지를 반환하지만, “가장 최근” 필터는 사용자 권한에 따라 다릅니다. 서로 다른 프로젝트에서 다른 권한을 가진 사용자가 잘못된 Maven 패키지를 다운로드할 수 있습니다.

GitLab 17.0에서 패키지 파인더 로직이 수정되어 “가장 최근” 패키지가 그룹 내 패키지의 마지막 업데이트된 이름 및 버전이 되도록 수정될 것입니다. 사용자 권한은 가장 최근 패키지를 찾은 후에 확인될 것입니다. 변경 후, 올바른 권한이 없는 사용자의 다운로드 요청은 거부될 것입니다. 현재 오류가 있는 동작에 의존하는 경우, 이 수정은 중대한 변경 사항을 도입할 것입니다.

변경은 GitLab 16.6에서 기능 플래그 뒤에 도입될 것입니다. 귀하의 그룹에 대한 기능 플래그를 활성화하려면, issue 393933에 댓글을 남겨주세요.

CiRunner.projects 기본 정렬을 id_desc로 변경 중

  • GitLab 16.0에서 발표됨
  • GitLab 17.0에서 제거 예정 (중대한 변경)
  • 이 변경 사항을 논의하거나 자세한 정보를 알아보려면, 제거 문제를 참조하세요.

CiRunner.projects의 필드 기본 정렬 순서 값이 id_asc에서 id_desc로 변경됩니다. 반환된 프로젝트의 순서에 id_asc를 의존하는 경우, 스크립트를 변경하여 명시적 선택을 하도록 수정하세요.

CiRunnerUpgradeStatusType GraphQL 타입의 이름이 CiRunnerUpgradeStatus로 변경됨

  • GitLab 16.0에서 발표됨
  • GitLab 17.0에서 제거 예정 (중대한 변경)
  • 이 변경 사항을 논의하거나 자세한 정보를 알아보려면, 제거 문제를 참조하세요.

CiRunnerUpgradeStatusType GraphQL 타입의 이름이 CiRunnerUpgradeStatus로 변경되었습니다. GitLab 17.0에서 CiRunnerUpgradeStatusType 타입의 별칭이 제거될 것입니다.

일반 설정에서의 규정 프레임워크

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거 예정 (중대한 변경)
  • 이 변경 사항을 논의하거나 자세한 정보를 알아보려면, 제거 문제를 참조하세요.

규정 프레임워크 관리를 프레임워크 및 프로젝트 보고서로 이동했습니다 Compliance Center로.

따라서 GitLab 17.0에서는 그룹 및 프로젝트의 일반 설정 페이지에서 규정 프레임워크 관리를 제거합니다.

Swift 및 OSS 저장소 드라이버에 대한 컨테이너 레지스트리 지원

  • GitLab 16.6에서 발표됨
  • GitLab 17.0에서 제거 예정 (중대한 변경)
  • 이 변경 사항을 논의하거나 자세한 정보를 알아보려면, 제거 문제를 참조하세요.

컨테이너 레지스트리는 다양한 객체 저장소 플랫폼과 작동하기 위해 저장소 드라이버를 사용합니다. 각 드라이버의 코드는 비교적 독립적이지만, 이러한 드라이버들에 대한 높은 유지 보수 부담이 있습니다. 각 드라이버 구현은 고유하며, 드라이버를 변경하는 데에는 해당 특정 드라이버에 대한 도메인 전문 지식이 필요합니다.

유지 보수 비용을 줄이기 위해, OSS (객체 저장소 서비스) 및 OpenStack Swift의 지원을 중단합니다. 두 가지 모두 상류 Docker Distribution에서 이미 제거되었습니다. 이는 컨테이너 레지스트리를 더 넓은 GitLab 제품 제공에 대해 객체 저장소 지원과 일치시킵니다.

OSS는 S3 호환 모드를 지원하므로 지원되는 드라이버로 마이그레이션을 할 수 없는 경우 해당 모드를 사용하는 것을 고려하세요. Swift는 S3 API 작업과 호환되며, 이는 S3 저장소 드라이버에서 필요합니다.

DAST ZAP 고급 구성 변수 폐지

  • GitLab 15.7에서 발표됨
  • GitLab 17.0에서 삭제 예정 (breaking change)
  • 이 변경에 대해 토론하거나 자세히 알아보려면 폐지된 문제를 참조하십시오.

GitLab 15.7에서 새로운 브라우저 기반 DAST 분석기 GA와 함께, 우리는 추후에 이것을 기본 DAST 분석기로 만들기 위해 작업 중입니다. 이에 대비하여, 다음 레거시 DAST 변수가 폐지되었으며 GitLab 17.0에서 삭제 예정입니다: DAST_ZAP_CLI_OPTIONSDAST_ZAP_LOG_CONFIGURATION. 이러한 변수는 OWASP ZAP을 기반으로 한 레거시 DAST 분석기의 고급 구성을 허용했습니다. 새로운 브라우저 기반 분석기에는 ZAP이 작동하는 방식에 특정한 기능이 포함되지 않을 것입니다.

이 세 가지 변수는 GitLab 17.0에서 제거될 것입니다.

의존성 프록시: 액세스 토큰에 추가 범위 확인 추가

  • GitLab 16.7에서 발표됨
  • GitLab 17.0에서 삭제 예정 (breaking change)
  • 이 변경에 대해 토론하거나 자세히 알아보려면 폐지된 문제를 참조하십시오.

그룹 액세스 토큰 또는 개인 액세스 토큰을 사용하여 컨테이너에 대한 의존성 프록시를 사용할 때, 의존성 프록시에 대한 충분하지 않은 범위를 갖는 docker logindocker pull 요청이 거부되지 않습니다.

GitLab 17.0에서는 그룹 또는 개인 액세스 토큰이 컨테이너에 대한 의존성 프록시로 인증하는 경우 추가적인 범위 확인이 추가됩니다. 이는 변경사항을 유발하는데, 필요한 범위가 없는 토큰은 실패할 것입니다.

이 변경으로 인한 영향을 피하기 위해 새로운 액세스 토큰을 필요한 범위와 함께 생성하고, 해당 새 토큰으로 작업 흐름 변수 및 스크립트를 업데이트하십시오.

의존성 스캔 부정확한 SBOM 메타데이터 속성

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 삭제 예정 (breaking change)
  • 이 변경에 대해 토론하거나 자세히 알아보려면 폐지된 문제를 참조하십시오.

GitLab 17.0에서는 CycloneDX SBOM 보고서에서 다음 메타데이터 속성 지원이 제거될 것입니다:

  • gitlab:dependency_scanning:input_file
  • gitlab:dependency_scanning:package_manager

이러한 속성은 Dependency Scanning에 의해 생성된 SBOM에 GitLab 15.7에 추가되었습니다. 그러나 이러한 속성들은 부정확했으며 GitLab CycloneDX 속성 분류 체계와 일치하지 않았습니다. 이러한 부정확한 속성들은 하위 호환성을 유지하기 위해 유지되었습니다. 이제 이러한 속성들은 폐지되고 17.0에서 제거될 것입니다.

sbt 1.0.X 지원하는 Dependency Scanning

  • GitLab 16.8에서 발표됨
  • GitLab 17.0에서 삭제 예정 (breaking change)
  • 이 변경에 대해 토론하거나 자세히 알아보려면 폐지된 문제를 참조하십시오.

너무 오래된 sbt 버전을 지원하는 것은 유지보수 비용을 높이지 않고 추가적인 사용 사례에 대한 지원을 개선하는 것을 방해하고 있습니다.

sbt 1.1.0 버전이 6년 전에 릴리스되었으며, 사용자들은 1.0.x에서 업그레이드할 것을 권장받습니다. Dependency Scanning은 더 이상 1.0.x에서 작동하지 않을 것입니다.

일시적인 저장 공간 증가와 관련된 GraphQL 필드를 폐기합니다

  • GitLab 16.7에서 발표됨
  • GitLab 17.0에서 제거됨
  • 변경 사항에 대해 토론하거나 자세히 알아보려면 폐기 사항 이슈를 참조하세요.

GraphQL 필드 isTemporaryStorageIncreaseEnabledtemporaryStorageIncreaseEndsOn이 폐기되었습니다. 이러한 GraphQL 필드는 일시적인 저장 공간 증가 프로젝트와 관련이 있습니다. 해당 프로젝트는 취소되었고 필드들은 사용되지 않았습니다.

컨테이너 스캐닝을 위한 Grype 스캐너를 폐기합니다

GitLab Container Scanning 분석기에서 Grype 스캐너의 지원이 GitLab 16.9에서 폐기되었습니다.

GitLab 17.0부터 Grype 분석기는 유지되지 않을 것이며, 지원 선언서에 설명된 한정된 수정을 제외하고는 작동하지 않을 것입니다.

사용자들은 CS_ANALYZER_IMAGE의 기본 설정을 사용할 것을 권장받습니다. 해당 설정은 Trivy 스캐너를 사용합니다.

기존의 Grype 분석기 이미지의 현재 주 버전은 GitLab 19.0까지 최신의 공지 데이터베이스와 운영체제 패키지를 업데이트할 것이며, 해당 시점에서 분석기는 작동하지 않게 됩니다.

19.0 이후에도 Grype를 계속 사용하려면 GitLab과의 본인의 통합 방법을 배우기 위해 보안 스캐너 통합 문서를 참조하세요.

라이센스 스캐닝 CI 템플릿을 폐기합니다

GitLab 17.0에서는 라이센스 스캐닝 CI 템플릿이 제거됩니다:

위 템플릿 중 하나를 포함한 CI 구성은 GitLab 17.0에서 작동하지 않을 것입니다.

사용자들은 CycloneDX 파일의 라이센스 스캐닝을 대신 사용할 것을 권장받습니다.

의존성 스캐닝 및 라이센스 스캐닝에서의 Python 3.9 지원 폐기

GitLab 16.9부터 의존성 스캐닝 및 라이센스 스캐닝에서 Python 3.9의 지원이 폐기되었습니다. GitLab 17.0부터 Python 3.10이 의존성 스캐닝 CI/CD 작업의 기본 버전이 될 것입니다.

GitLab 17.0부터 의존성 스캐닝 및 라이센스 스캐닝 기능은 호환 가능한 락 파일 없이 Python 3.9를 필요로 하는 프로젝트를 지원하지 않을 것입니다.

Windows CMD의 지원 중단

  • GitLab 16.1에서 발표됨
  • GitLab 17.0에서 삭제 예정 (breaking change)
  • 이 변경 사항에 대한 토의 또는 자세한 내용은 지원 중단 이슈를 참조하십시오.

GitLab 11.11에서 Windows Batch 실행기(CMD 셸)는 PowerShell을 선호하도록 GitLab Runner에서 지원 중단되었습니다. 그 이후로 지속되었지만, Windows에서 Runner를 사용하는 엔지니어링 팀 및 고객들에게 추가 복잡성을 야기하였습니다. 우리는 GitLab Runner에서 Windows CMD의 지원을 17.0에서 완전히 중단할 계획입니다. 고객은 셸 실행기를 사용할 때 Windows에서 PowerShell을 사용할 것을 계획해야 합니다. 고객은 삭제 이슈인 이슈 29479에서 피드백을 제공하거나 질문을 할 수 있습니다.

CiRunnerManager에서 중복된 CiRunner GraphQL 필드 지원 중단

  • GitLab 16.2에서 발표됨
  • GitLab 17.0에서 삭제 예정 (breaking change)
  • 이 변경 사항에 대한 토의 또는 자세한 내용은 지원 중단 이슈를 참조하십시오.

이러한 필드(architectureName, ipAddress, platformName, revision, version)는 이제 러너 구성 내에서 그룹화된 러너 관리자의 도입으로 GraphQL CiRunner 유형에서 중복되어 더 이상 사용되지 않습니다.

Terraform Module CI/CD 템플릿의 fmt 작업 지원 중단

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 삭제 예정 (breaking change)
  • 이 변경 사항에 대한 토의 또는 자세한 내용은 지원 중단 이슈를 참조하십시오.

Terraform Module CI/CD 템플릿의 fmt 작업이 지원 중단되며 GitLab 17.0에서 제거될 예정입니다. 이는 다음 템플릿에 영향을 미칩니다: - Terraform-Module.gitlab-ci.yml - Terraform/Module-Base.gitlab-ci.yml

다음을 사용하여 파이프라인에 수동으로 Terraform fmt 작업을 추가할 수 있습니다:

fmt:
  image: hashicorp/terraform
  script: terraform fmt -chdir "$TF_ROOT" -check -diff -recursive

또는 OpenTofu CI/CD 구성 요소에서 fmt 템플릿을 사용할 수 있습니다.

취약점 관리 기능에서 message 필드 지원 중단

  • GitLab 16.1에서 발표됨
  • GitLab 17.0에서 삭제 예정 (breaking change)
  • 이 변경 사항에 대한 토의 또는 자세한 내용은 지원 중단 이슈를 참조하십시오.

이 MR에서는 VulnerabilityCreate GraphQL 변형의 message 필드 및 취약점 내보내기의 AdditionalInfo 열에서 중복되는 message 필드가 중단되었습니다. 메시지 필드는 GitLab 16.0에서 보안 보고서 스키마에서 제거되었으며 더 이상 다른 곳에서 사용되지 않습니다.

GitLab Runner Kubernetes 실행기의 terminationGracePeriodSeconds 지원 중단

  • GitLab 16.3에서 발표됨
  • GitLab 17.0에서 지원 종료
  • GitLab 17.0에서 삭제 예정
  • 이 변경 사항에 대한 토의 또는 자세한 내용은 지원 중단 이슈를 참조하십시오.

GitLab Runner Kubernetes 실행기 설정인 terminationGracePeriodSeconds은 GitLab 17.0에서 지원이 중지되고 삭제될 예정입니다. Kubernetes에서 GitLab Runner 워커 파드의 정리 및 종료를 관리하려면 고객은 대신 cleanupGracePeriodSecondspodTerminationGracePeriodSeconds를 구성해야 합니다. cleanupGracePeriodSecondspodTerminationGracePeriodSeconds의 사용 방법에 대한 정보는 GitLab Runner Executor 설명서를 참조하십시오.

version 필드를 특성 플래그 API에서 사용 중단

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 사용 중단 이슈를 참조하세요.

특성 플래그 REST APIversion 필드는 사용 중단되어 GitLab 17.0에서 제거될 예정입니다.

version 필드가 제거된 후에는 레거시 특성 플래그를 생성할 수 있는 방법이 없을 것입니다.

개발자 역할에서 취약점 상태 변경 사용 중단

  • GitLab 16.4에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 사용 중단 이슈를 참조하세요.

개발자가 취약점의 상태를 변경하는 능력은 더 이상 사용되지 않습니다. 저희는 Developer 역할에서 이 권한을 제거하기 위해 곧 나올 GitLab 17.0 릴리스에서 breaking change를 진행할 계획입니다. 이 권한을 개발자에게 계속 부여하려는 사용자는 사용자 지정 역할을 생성하여 admin_vulnerability 권한을 추가하여 이 작업을 수행할 수 있습니다.

자체 관리를 위한 그룹 소유자를 위한 사용자 정의 역할 생성 중단

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 사용 중단 이슈를 참조하세요.

17.0의 자체 관리 GitLab에서는 그룹 소유자를 위한 사용자 정의 역할 생성이 제거될 예정입니다. 이 기능은 이제 관리자만을 위한 인스턴스 수준으로 이동될 것입니다. 그룹 소유자는 그룹 수준에서 사용자 정의 역할을 지정할 수 있을 것입니다.

GitLab.com의 그룹 소유자는 계속하여 사용자 정의 역할을 관리하고 그룹 수준에서 할당할 수 있을 것입니다.

GraphQL VulnerabilityType에서 hasSolutions 필드 사용 중단

  • GitLab 16.3에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 사용 중단 이슈를 참조하세요.

GraphQL 필드 Vulnerability.hasSolutions는 사용 중단되어 GitLab 17.0에서 제거될 예정입니다. 대신 Vulnerability.hasRemediations를 사용하세요.

러너 쉘 실행기의 레거시 쉘 이스케이핑 및 따옴표 사용 중단

  • GitLab 15.11에서 발표됨
  • GitLab 17.0에서 제거 예정
  • 이 변경 사항에 대한 토론이나 자세한 내용은 사용 중단 이슈를 참조하세요.

러너의 레거시 이스케이프 시퀀스 메커니즘은 Ansi-C 따옴표의 부적절한 구현을 실행합니다. 구문 분석에서 포함된 인자를 확장한다는 방식입니다. 15.11부터 러너 쉘 실행기에서는 이 레거시 이스케이핑과 따옴표 사용을 사용 중단하고 있습니다.

로그인 페이지에 사용되는 사용자 지정 텍스트와 관련된 매개변수 중단

  • GitLab 16.2에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 사용 중단 이슈를 참조하세요.

sign_in_texthelp_text 매개변수는 설정 API에서 사용 중단되었습니다. 로그인 및 가입 페이지에 사용자 지정 텍스트를 추가하려면 외형 APIdescription 필드를 사용하세요.

Windows Server 2019의 지원 중단 및 2022 지원 시작

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 지원 중단 이슈를 참조하세요.

최근에, SaaS 러너용 Windows Server 2022의 릴리스를 발표했습니다 (베타). 이와 함께, GitLab 17.0에서 Windows 2019의 지원을 중단합니다.

Windows 2022로 마이그레이션하는 방법에 대한 자세한 정보는 Windows 2022 지원: GitLab SaaS 러너에서 이제 사용 가능을 참조하세요.

DingTalk OmniAuth 제공자

  • GitLab 15.10에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 지원 중단 이슈를 참조하세요.

GitLab에 DingTalk OmniAuth 제공자를 제공하는 omniauth-dingtalk gem이 GitLab 17.0에서 제거될 예정입니다. 이 gem은 사용량이 매우 적으며 JiHu 에디션에 더 적합합니다.

Gitaly 구성에서 중복 저장소

  • GitLab 16.10에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 지원 중단 이슈를 참조하세요.

동일한 저장소 경로를 가리키는 여러 개의 Gitaly 저장소를 구성하는 지원이 중단되며, GitLab 17.0에서 제거됩니다. GitLab 17.0부터 이러한 유형의 구성은 오류를 발생시킵니다.

이 유형의 구성을 지원 중단하는 이유는 백그라운드 저장소 유지 관리에 문제를 일으킬 수 있으며 향후 Gitaly 저장소 구현과 호환되지 않을 수 있기 때문입니다.

인스턴스 관리자는 각 저장소가 고유한 경로로 구성되도록 gitlab.rb 구성 파일의 gitaly['configuration'] 섹션의 storage 항목을 업데이트해야 합니다.

다운스트림 파이프라인에서 파일 유형 변수 확장 수정

  • GitLab 16.6에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 지원 중단 이슈를 참조하세요.

이전에, 파일 형식 CI/CD 변수를 다른 CI/CD 변수에서 참조하려고 했을 때, CI/CD 변수는 파일 내용을 포함하도록 확장되었습니다. 이 동작은 일반적인 쉘 변수 확장 규칙과 일치하지 않아 잘못된 동작이었습니다. CI/CD 변수 참조는 파일의 내용이 아닌 파일 경로만 포함하도록 확장되어야 합니다. 이것은 GitLab 15.7에서 대부분의 사용 사례에 대해 수정되었지만, 아직 수정되지 않은 다운스트림 파이프라인 전달에 해당하는 케이스가 있었는데, GitLab 17.0에서 수정될 예정입니다.

이 변경으로 .gitlab-ci.yml 파일에서 구성된 변수가 파일 변수를 참조하고 다운스트림 파이프라인에 전달되며, 파일 변수도 다운스트림 파이프라인에 전달됩니다. 다운스트림 파이프라인은 변수 참조를 파일 경로로 확장시키고 파일 내용이 아닙니다.

이 breaking change는 다운스트림 파이프라인에서 파일 변수를 확장하는 데에 의존하는 사용자의 작업 흐름에 지장을 줄 수 있습니다.

릴리스 및 릴리스 링크 API의 파일 경로 필드

  • GitLab 15.9에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 변경 사항에 대한 토론이나 자세한 내용은 제거 예정 이슈을 참조하십시오.

릴리스 API릴리스 링크 API에서 직접 자산 링크를 지정하는 filepath 지원이 GitLab 15.9에서 제거 예정이며 GitLab 17.0에서 완전히 제거될 예정입니다. GitLab은 filepath를 대체하기 위해 GitLab 15.9에서 direct_asset_path라는 새 필드를 도입했습니다.

중단 사항을 피하려면 다음 엔드포인트에 대한 호출에서 filepathdirect_asset_path로 교체해야 합니다:

Geo: 디자인 및 프로젝트용 레거시 복제 세부 라우트가 제거 예정

  • GitLab 16.4에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 변경 사항에 대한 토론이나 자세한 내용은 제거 예정 이슈를 참조하십시오.

Geo 자체 서비스 프레임워크로 레거시 데이터 유형을 마이그레이션하는 일환으로 다음 복제 세부 라우트가 제거 예정입니다:

  • Designs /admin/geo/replication/designs/admin/geo/sites/<Geo Node/Site ID>/replication/design_management_repositories로 대체됨
  • Projects /admin/geo/replication/projects/admin/geo/sites/<Geo Node/Site ID>/replication/projects로 대체됨

GitLab 16.4부터 17.0까지 레거시 라우트를 위한 조회는 자동으로 새 라우트로 리디렉션됩니다. 리디렉션은 17.0에서 제거될 예정입니다. 레거시 라우트를 사용할 수 있는 책갈피나 스크립트를 업데이트해야 합니다.

GitLab Helm 차트 값 gitlab.kas.privateApi.*가 제거 예정

  • GitLab 15.8에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 변경 사항에 대한 토론이나 자세한 내용은 제거 예정 이슈를 참조하십시오.

KAS와 Helm 차트 구성 요소 간의 TLS 통신을 용이하게 하기 위해 global.kas.tls.* Helm 값이 도입되었습니다. 이전 값인 gitlab.kas.privateApi.tls.enabledgitlab.kas.privateApi.tls.secretName은 제거 예정이며 GitLab 17.0에서 삭제될 예정입니다.

새 값은 KAS를 위한 TLS를 활성화하는 간결하고 포괄적인 방법을 제공하므로 global.kas.tls.* 대신에 gitlab.kas.privateApi.tls.*를 사용해야 합니다. 자세한 내용은 다음을 참조하십시오:

GraphQL API에서의 GitLab Runner 플랫폼 및 설정 지침

  • GitLab 15.9에서 발표됨
  • GitLab 17.0에서 삭제될 예정임 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 알림 이슈를 참조하세요.

runnerPlatformsrunnerSetup 쿼리를 사용하여 GitLab Runner 플랫폼 및 설치 지침을 얻을 수 있지만, 이러한 기능은 GraphQL API에서 폐기되고 제거될 예정입니다. 설치 지침은 GitLab Runner 문서를 사용해야 합니다.

GitLab Runner 출처 메타데이터 SLSA v0.2 문서

  • GitLab 16.8에서 발표됨
  • GitLab 17.0에서 삭제될 예정임 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 알림 이슈를 참조하세요.

Runners는 출처 메타데이터를 생성하며 현재는 기본적으로 SLSA v0.2를 준수하는 문서를 생성합니다. 그러나 SLSA v1.0가 출시되어 GitLab에서 이미 지원하고 있기 때문에 v0.2 문서는 폐기되었으며 GitLab 17.0에서 제거가 예정되어 있습니다. SLSA v1.0 문서는 GitLab 17.0에서 새로운 기본 문서 형식이 될 예정입니다.

dependencyProxyTotalSizeInBytes 필드의 GraphQL 폐기

  • GitLab 16.1에서 발표됨
  • GitLab 17.0에서 삭제될 예정임 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 알림 이슈를 참조하세요.

GitLab 의존성 프록시에서 사용된 저장 공간 양을 쿼리하는 데에는 GraphQL을 사용할 수 있습니다. 그러나 dependencyProxyTotalSizeInBytes 필드는 대부분의 경우에 충분하지 않은 ~2Gb(바이트)로 제한되어 있으므로, dependencyProxyTotalSizeInBytes는 폐기되고 GitLab 17.0에서 제거될 예정입니다.

대신에 GitLab 16.1에서 도입된 dependencyProxyTotalSizeBytes를 사용하세요.

GraphQL 필드 registrySizeEstimated가 폐기됨

  • GitLab 16.2에서 발표됨
  • GitLab 17.0에서 삭제될 예정임 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 알림 이슈를 참조하세요.

명확성을 위해 GraphQL 필드 registrySizeEstimated는 해당 필드와 일치하기 위해 containerRegistrySizeIsEstimated로 이름이 변경되었습니다. registrySizeEstimated는 GitLab 16.2에서 폐기되며 GitLab 17.0에서 제거될 예정입니다. 대신에 GitLab 16.2에서 도입된 containerRegistrySizeIsEstimated를 사용하세요.

GraphQL 필드 totalWeight가 폐기됨

  • GitLab 16.3에서 발표됨
  • GitLab 17.0에서 삭제될 예정임 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 알림 이슈를 참조하세요.

GraphQL을 사용하여 이슈 보드의 총 가중치를 쿼리할 수 있습니다. 그러나 totalWeight 필드는 최대 크기 2147483647로 제한되어 있습니다. 따라서 totalWeight는 폐기되고 GitLab 17.0에서 제거될 예정입니다.

대신에 GitLab 16.2에서 도입된 totalIssueWeight를 사용하세요.

GraphQL networkPolicies 리소스가 폐지됨

  • GitLab 14.8에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변화에 대해 토론하거나 자세한 내용을 알아보려면 폐지 이슈를 참조하세요.

networkPolicies GraphQL 리소스가 폐지되었으며 GitLab 17.0에서 제거될 예정입니다. GitLab 15.0부터이 필드는 데이터를 반환하지 않았습니다.

</div>

GraphQL 유형, RunnerMembershipFilterCiRunnerMembershipFilter로 변경됨

  • GitLab 16.0에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변화에 대해 토론하거나 자세한 내용을 알아보려면 폐지 이슈를 참조하세요.

GraphQL 유형, RunnerMembershipFilterCiRunnerMembershipFilter로 이름이 변경되었습니다. 17.0에서는 RunnerMembershipFilter 유형의 별칭이 제거될 것입니다.

GraphQL: SharedRunnersSetting 열거형의 DISABLED_WITH_OVERRIDE 값이 폐지됨. 대신 DISABLED_AND_OVERRIDABLE를 사용하세요

  • GitLab 15.8에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변화에 대해 토론하거나 자세한 내용을 알아보려면 폐지 이슈를 참조하세요.

GitLab 17.0에서 SharedRunnersSetting GraphQL 열거형의 DISABLED_WITH_OVERRIDE 값이 DISABLED_AND_OVERRIDABLE 값으로 대체될 것입니다.

GraphQL: canDestroycanDelete 지원이 폐지됨

  • GitLab 16.6에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변화에 대해 토론하거나 자세한 내용을 알아보려면 폐지 이슈를 참조하세요.

패키지 레지스트리 사용자 인터페이스는 GitLab GraphQL API에 의존합니다. 모두가 쉽게 기여할 수 있도록 하기 위해 프론트엔드가 일관되게 코드화되는 것이 중요합니다. 그러나 GitLab 16.6 이전에는 패키지 레지스트리 UI가 제품의 다른 영역과 다르게 권한을 처리했습니다.

16.6에서는 새로운 UserPermissions 필드가 Types::PermissionTypes::Package 유형 하위에 추가되어 패키지 레지스트리를 GitLab의 다른 부분과 일치시켰습니다. 이 새로운 필드는 Package, PackageBase, PackageDetailsType 유형의 canDestroy 필드와 ContainerRepository, ContainerRepositoryDetails, ContainerRepositoryTagcanDelete 필드를 대체합니다. GitLab 17.0에서 canDestroycanDelete 필드가 제거될 것입니다.

이것은 17.0에서 완료되는 breaking change입니다.

기본 설정에서 HashiCorp Vault 통합이 더 이상 CI_JOB_JWT를 사용하지 않음

  • GitLab 15.9에서 발표됨
  • GitLab 17.0에서 제거 예정 (breaking change)
  • 이 변화에 대해 토론하거나 자세한 내용을 알아보려면 폐지 이슈를 참조하세요.

JWT 및 OIDC를 사용하여 CI 워크플로의 보안을 개선하기 위한 노력의 일환으로 기본 HashiCorp 통합도 GitLab 16.0에서 업데이트되고 있습니다. Vault에서 시크릿을 검색하기 위해 secrets:vault 키워드를 사용하는 프로젝트는 ID 토큰을 사용하도록 구성해야 합니다. ID 토큰은 15.7에서 소개되었습니다.

이 변경에 대비하려면 새로운 id_tokens 키워드를 사용하고 aud 클레임을 구성하세요. 바운드 오디언스는 https://로 접두어가 붙은 것을 확인하세요.

GitLab 15.9에서 15.11 사이에 기존 토큰이 모든 작업에 노출되는 것을 방지하고 secrets:vault 키워드에 대한 ID 토큰 인증을 활성화 할 수 있습니다.

GitLab 16.0 이후:

  • 이 설정이 제거될 것입니다.
  • id_tokens 키워드를 사용하는 CI/CD 작업은 secrets:vault와 함께 ID 토큰을 사용할 수 있으며, CI_JOB_JWT* 토큰이 제공되지 않을 것입니다.
  • id_tokens 키워드를 사용하지 않는 작업은 GitLab 17.0 이전까지 CI_JOB_JWT* 토큰을 계속 사용할 수 있을 것입니다.

Auto DevOps 빌드에서의 Heroku 이미지 업그레이드

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 제외 문제를 확인하세요.

GitLab 17.0에서 auto-build-image 프로젝트는 heroku/builder:20 이미지에서 heroku/builder:22로 업그레이드됩니다.

새 이미지의 동작을 테스트하려면 CI/CD 변수 AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDERheroku/builder:22로 설정하세요.

GitLab 17.0 이후에도 heroku/builder:20을 계속 사용하려면 AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDERheroku/builder:20으로 설정하세요.

내부 컨테이너 레지스트리 API 태그 삭제 엔드포인트

  • GitLab 16.4에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 제외 문제를 확인하세요.

이후에는 Docker Registry HTTP API V2 Spec이 OCI Distribution Spec로 교체되었으며 태그 삭제 작업이 포함되지 않았습니다. 또한 태그 삭제 기능을 지원했던 두 가지 엔드포인트가 있어서 사용자들에게 혼란을 줬습니다. GitLab 16.4에서 소개된 OCI 따름 태그 삭제 엔드포인트와 GitLab 커스텀 태그 삭제 엔드포인트 중 커스텀 GitLab 태그 삭제 엔드포인트 지원이 중단될 예정입니다. 대부분의 사용자들은 이 변경 사항으로 아무런 조치가 필요하지 않을 것입니다. 기존의 GitLab UI 및 API와 관련된 기능은 새 OCI 따름 엔드포인트로 전환되는 동안 계속하여 유지될 것입니다.

내부 컨테이너 레지스트리 API에 액세스하고 원래의 태그 삭제 엔드포인트를 사용하는 경우, 새 엔드포인트로 업데이트해야 합니다.

JWT /-/jwks 인스턴스 엔드포인트가 사용 중단됨

  • GitLab 16.7에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 제외 문제를 확인하세요.

GitLab 17.0에서 이전 버전의 JSON 웹 토큰이 사용 중단되었기 때문에 연결된 /-/jwks 엔드포인트 (즉, /oauth/discovery/keys의 별칭)는 더 이상 필요하지 않으며 제거될 예정입니다. /-/jwks 의 사용을 /oauth/discovery/keys로 대체하세요. 예를 들어 https://gitlab.example.com/-/jwkshttps://gitlab.example.com/oauth/discovery/keys로 변경하세요.

Legacy Geo Prometheus 메트릭

  • GitLab 16.6에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 제외 문제를 확인하세요.

프로젝트를 Geo self-service framework로 이전한 후 일부 Prometheus 메트릭을 사용하지 않게 되었습니다. 다음과 같은 Geo 관련 Prometheus 메트릭은 17.0에서 제거됩니다. 아래 표는 제거된 메트릭과 해당 대체품을 나열한 것입니다. 대체품은 GitLab 16.3.0부터 사용할 수 있습니다.

제거된 메트릭 대체 메트릭
geo_repositories_synced geo_project_repositories_synced
geo_repositories_failed geo_project_repositories_failed
geo_repositories_checksummed geo_project_repositories_checksummed
geo_repositories_checksum_failed geo_project_repositories_checksum_failed
geo_repositories_verified geo_project_repositories_verified
geo_repositories_verification_failed geo_project_repositories_verification_failed
geo_repositories_checksum_mismatch 사용 불가능
geo_repositories_retrying_verification 사용 불가능

라이선스 목록이 더 이상 사용되지 않음

  • GitLab 16.8에서 발표됨
  • GitLab 17.0에 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 더 자세히 알아보려면 deprecated issue를 참조하세요.

지금은 GitLab에서 프로젝트 및 해당 라이선스를 사용하는 구성 요소에 대한 라이선스 목록을 볼 수 있습니다. 그러나 16.8 이후로 라이선스 목록은 사용되지 않으며 17.0에서 중단 변경 사항으로 제거될 예정입니다. 그룹 의존성 목록을 릴리스함으로써 프로젝트 또는 그룹 의존성 목록에서 라이선스를 필터링할 수 있는 기능이 추가되었으므로 이제 프로젝트 또는 그룹이 사용하는 모든 라이선스에 액세스할 수 있습니다.

sbt 1.0.X에 대한 라이선스 스캐닝 지원

  • GitLab 16.8에서 발표됨
  • GitLab 17.0에 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 더 자세히 알아보려면 deprecated issue를 참조하세요.

GitLab 17.0에서는 sbt 1.0.x에 대한 라이선스 스캐닝 지원이 제거됩니다.

사용자는 sbt 1.0.x로부터 업그레이드하는 것이 좋습니다.

Ubuntu 18.04용 Linux 패키지

  • GitLab 16.8에서 발표됨
  • GitLab 17.0에 제거 예정
  • 이 변경 사항에 대해 토론하거나 더 자세히 알아보려면 deprecated issue를 참조하세요.

Ubuntu 18.04에 대한 표준 지원은 2023년 6월에 종료되었습니다.

GitLab 17.0부터는 Ubuntu 18.04용 Linux 패키지를 제공하지 않을 것입니다.

GitLab 17.0 이후를 위해 다음을 준비하세요:

  1. Ubuntu 18.04에서 동작 중인 GitLab 인스턴스를 Ubuntu 20.04 또는 Ubuntu 22.04로 이동합니다.
  2. 현재 사용 중인 Ubuntu 버전용 Linux 패키지를 사용하여 GitLab 인스턴스를 업그레이드합니다.

저장소 디렉토리 목록 Rake 작업

  • GitLab 16.7에서 발표됨
  • GitLab 17.0에 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 더 자세히 알아보려면 deprecated issue를 참조하세요.

gitlab-rake gitlab:list_repos Rake 작업은 작동하지 않으며 GitLab 17.0에서 제거될 것입니다. GitLab을 마이그레이션하는 경우 백업 및 복원을 사용하세요.

GraphQL API를 사용하여 패키지 설정을 변경하는 Maintainer 역할 제공

  • GitLab 15.8에서 발표됨
  • GitLab 17.0에 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 더 자세히 알아보려면 deprecated issue를 참조하세요.

Maintainer 역할을 가진 사용자가 GraphQL API를 사용하여 그룹의 패키지 및 레지스트리 설정을 변경하는 기능이 GitLab 15.8에서 사용되지 않게 되며 GitLab 17.0에서 제거될 예정입니다. 이러한 설정에는 다음이 포함됩니다:

GitLab 17.0 및 이후에서는 패키지 및 레지스트리 설정을 변경하려면 그룹의 소유자 역할이 있어야 합니다. 이는 GitLab UI 또는 GraphQL API를 사용하여 수행할 수 있습니다.

Maven 버전 3.8.8 미만은 Dependency Scanning 및 License Scanning 지원이 중단됩니다.

  • GitLab 16.9에서 발표되었습니다.
  • GitLab 17.0에서 제거될 예정입니다 (breaking change).
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 문제를 참조하세요.

GitLab 17.0에서는 Maven 버전 3.8.8 이하의 Dependency Scanning 및 License Scanning 지원이 중단됩니다.

사용자는 3.8.8 이상으로 업그레이드하는 것이 좋습니다.

Sidekiq 옵션의 최소 및 최대 동시성

  • GitLab 16.9에서 발표되었습니다.
  • GitLab 17.0에서 제거될 예정입니다 (breaking change).
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 문제를 참조하세요.
  • Linux 패키지(Omnibus) 설치에서는 GitLab 16.9에서 sidekiq['min_concurrency']sidekiq['max_concurrency'] 설정이 폐지 예정이며 GitLab 17.0에서 제거될 예정입니다.

    GitLab 16.9 이후에는 각 프로세스에서 스레드 수를 명시적으로 설정하려면 sidekiq['concurrency']를 사용할 수 있습니다.

    위의 변경 사항은 Linux 패키지(Omnibus) 설치에만 적용됩니다.

  • GitLab Helm 차트 설치에서는 SIDEKIQ_CONCURRENCY_MIN 및/또는 SIDEKIQ_CONCURRENCY_MAXsidekiq 하위 차트에 extraEnv로 전달하는 것이 GitLab 16.10에서 폐지 예정이며 GitLab 17.0에서 제거될 예정입니다.

    각 프로세스에서 스레드 수를 명시적으로 설정하려면 concurrency 옵션을 사용할 수 있습니다.

/users REST API 엔드포인트의 오프셋 페이지네이션 폐지 예정

  • GitLab 16.5에서 발표되었습니다.
  • GitLab 17.0에서 제거될 예정입니다 (breaking change).
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 문제를 참조하세요.

GitLab 16.5에서 /users REST API의 오프셋 페이지네이션은 폐지되었으며 GitLab 17.0에서 제거될 예정입니다. 대신 키셋 페이지네이션을 사용하세요.

이전 버전의 JSON 웹 토큰이 폐지 예정입니다

  • GitLab 15.9에서 발표되었습니다.
  • GitLab 17.0에서 제거될 예정입니다 (breaking change).
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 문제를 참조하세요.

OIDC 지원을 갖춘 ID 토큰이 GitLab 15.7에서 소개되었습니다. 이러한 토큰은 이전 JSON 웹 토큰(JWT)보다 구성이 가능하며 OIDC 규격을 준수하며, 명시적으로 ID 토큰이 구성된 CI/CD 작업에서만 사용할 수 있습니다. 이전 CI_JOB_JWT* JSON 웹 토큰은 모든 작업에서 노출되는 반면 ID 토큰은 더욱 안전합니다. 이에 따라 다음과 같은 이전 JSON 웹 토큰은 폐지되었습니다:

  • CI_JOB_JWT
  • CI_JOB_JWT_V1
  • CI_JOB_JWT_V2

본 변경에 대비하기 위해 파이프라인을 구성하여 폐기된 토큰 대신 ID 토큰을 사용하도록 구성하세요. OIDC 규격을 준수하기 위해 iss 클레임은 이제 완전한 도메인 이름을 사용합니다. 예를 들어 https://example.com은 이전에 CI_JOB_JWT_V2 토큰으로 소개되었습니다.

GitLab 15.9에서 15.11까지는 JSON 웹 토큰(JWT) 접근 제한을 활성화하여 이전 토큰을 모든 작업에서 노출되지 않도록하고 secrets:vault 키워드를 사용하여 id_tokens 인증을 활성화할 수 있습니다.

GitLab 16.0 이후:

  • 이 설정은 제거될 예정입니다.
  • id_tokens 키워드를 사용하는 CI/CD 작업에서는 secrets:vault와 함께 ID 토큰을 사용할 수 있으며, CI_JOB_JWT* 토큰은 사용할 수 없습니다.
  • id_tokens 키워드를 사용하지 않는 작업은 GitLab 17.0 이전까지 CI_JOB_JWT* 토큰을 계속해서 사용할 수 있습니다.

GitLab 17.0에서는 폐지된 토큰이 완전히 제거되어 CI/CD 작업에 더 이상 사용할 수 없게 될 것입니다.

OmniAuth Facebook is deprecated

OmniAuth Facebook 지원은 GitLab 17.0에서 제거될 예정입니다. 마지막 젬 릴리스는 2021년에 이루어졌으며 현재 유지되지 않고 있습니다. 현재 사용률은 0.1% 미만입니다. OmniAuth Facebook을 사용 중이라면 지원이 중단되기 전에 지원되는 공급자로 전환하십시오.

API 페이로드에서 패키지 파이프라인이 페이지별로 나뉘어집니다

/api/v4/projects/:id/packages에 대한 API 요청은 패키지의 페이지별 결과를 반환합니다. 각 패키지는 이 응답에 자신의 모든 파이프라인을 나열합니다. 이것은 성능에 문제가 될 수 있는데, 패키지에 수백 개나 수천 개의 연관된 파이프라인이 있을 수 있기 때문입니다.

마일스톤 17.0에서 API 응답에서 pipelines 속성을 제거할 것입니다.

PipelineSecurityReportFinding projectFingerprint GraphQL 필드

취약점 발견의 project_fingerprint 속성이 uuid 속성으로 대체되어 폐지됩니다. UUIDv5 값을 사용하여 발견과 관련된 모든 엔터티를 쉽게 연결할 수 있습니다. project_fingerprint 속성은 더 이상 발견을 추적하는 데 사용되지 않으며, GitLab 17.0에서 제거될 것입니다. 16.1부터 project_fingerprint의 출력은 uuid 필드와 동일한 값을 반환합니다.

PostgreSQL 13 폐지됨

GitLab은 PostgreSQL의 연간 업그레이드 주기를 따릅니다.

PostgreSQL 13 지원은 GitLab 17.0에서 삭제될 예정입니다. GitLab 17.0에서 PostgreSQL 14가 최소 필요한 PostgreSQL 버전이 될 것입니다.

PostgreSQL 13은 전체 GitLab 16 릴리스 주기 동안 지원될 것입니다. GitLab 17.0 이전에 업그레이드를 원하는 인스턴스에 대해 PostgreSQL 14도 지원될 것입니다.

Proxy 기반 DAST가 폐지됨

GitLab 17.0부로 Proxy 기반 DAST는 더 이상 지원되지 않을 것입니다. 프로젝트의 보안 취약점을 동적 분석을 통해 계속 분석하려면 브라우저 기반 DAST로 마이그레이션하십시오. 또한 17.0 이후로 더 이상 지원되지 않게 될 Proxy 기반 DAST를 기반으로 한 침입 및 공격 시뮬레이션도 포함됩니다.

Sidekiq 실행을 위한 큐 셀렉터가 사라짐

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 지원 중단
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항을 논의하거나 더 알아보려면 폐지 문제를 참조하세요.

여러 프로세스가 일련의 큐를 청취하는 큐 셀렉터 (여러 프로세스가 일련의 큐를 청취하는) 및 부정 설정을 사용하여 Sidekiq를 실행하는 것은 폐지되었으며 17.0에서 완전히 제거될 예정입니다.

큐 셀렉터에서 모든 큐를 모든 프로세스에서 청취하도록 변경할 수 있습니다. 예를 들어, 현재 Sidekiq가 4개의 프로세스로 실행 중이고(/etc/gitlab/gitlab.rb에서 sidekiq['queue_groups']에 있는 4개의 요소로 표시됨) 큐 셀렉터(sidekiq['queue_selector'] = true)를 사용 중이라면, Sidekiq를 모든 4 프로세스에서 모든 큐를 청취하도록 변경할 수 있습니다. 예를 들면 sidekiq['queue_groups'] = ['*'] * 4 입니다. 이 접근법은 또한 참조 아키텍처에서도 권장됩니다. Sidekiq는 머신의 CPU 수만큼 효과적으로 여러 프로세스로 실행될 수 있다는 점을 유의하세요.

위 접근법은 대부분의 인스턴스에 대해 권장되지만, Sidekiq는 또한 라우팅 규칙을 사용하여 실행할 수 있으며 이 방법은 현재 GitLab.com에서도 사용 중입니다. 큐 셀렉터에서 라우팅 규칙으로 이주하기을 따를 수 있습니다. 작업을 완전히 소멸시키지 않도록 이주시 주의해야 합니다.

POST /api/v4/runners 엔드포인트에서의 등록 토큰 및 서버 측 러너 인자

  • GitLab 15.6에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항을 논의하거나 더 알아보려면 폐지 문제를 참조하세요.

POST 메서드의 /api/v4/runners 엔드포인트에서 등록 토큰 및 특정 러너 구성 인자의 지원이 폐지됩니다. 이 엔드포인트는 API를 통해 인스턴스, 그룹 또는 프로젝트 수준에서 GitLab 인스턴스에 러너를 등록합니다. 등록 토큰 및 특정 구성 인자의 지원은 GitLab 17.0에서 HTTP 410 Gone 상태 코드를 반환하기 시작할 것입니다. 자세한 정보는 새 러너 등록 워크플로로의 이주를 참조하세요.

인증 토큰에 대해 비활성화된 구성 인자는 다음과 같습니다:

  • --locked
  • --access-level
  • --run-untagged
  • --maximum-timeout
  • --paused
  • --tag-list
  • --maintenance-note

이 변경 사항은 breaking change입니다. 구성을 추가하려면 UI에서 러너를 만들어야 하며 gitlab-runner register 명령에서 인증 토큰을 사용해야 합니다.

작은 SaaS 러너에서 태그 제거

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항을 논의하거나 더 알아보려면 폐지 문제를 참조하세요.

역사적인 이유로, 작은 Linux SaaS 러너에는 레이블로 사용되었기 때문에 많은 태그가 첨부되어 있었습니다. 모든 SaaS 러너에서 saas-linux-small-amd64만 사용하도록 태그를 단순화하고자 합니다.

다음 태그들은 폐지됩니다: docker, east-c, gce, git-annex, linux, mongo, mysql, postgres, ruby, shared.

자세한 내용은 작은 SaaS 러너에서 태그 제거를 참조하세요.

‘require_password_to_approve’ 필드 이름 변경

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경사항에 대해 토론하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

GitLab 16.7에서 Reqiure user re-authentication to approve 기능을 위해 SAML SSO로 다시 인증하는 기능을 추가했습니다.

이에 따라, GitLab 17.0에서 UI, API 및 데이터베이스에서 require_password_to_approve 필드의 이름을 require_reauthentication_to_approve로 변경하고 있습니다.

스캔 실행 정책은 _EXCLUDED_ANALYZERS 변수로 스캔을 강제하는 경우 프로젝트 변수를 덮어씁니다.

가장 높은 우선순위의 SEP 변수를 강제로 적용한 후, 의도치 않은 동작을 발견하여 사용자가 파이프라인 구성에서 _EXCLUDED_PATHS를 설정하고 정책 및 파이프라인 구성 모두에서 _EXCLUDED_ANALYZERS를 설정하는 것을 막는 것입니다.

스캔 실행 정책에 _EXCLUDED_ANALYZERS 또는 _EXCLUDED_PATHS 변수가 지정된 경우 GitLab 스캔 동작을 사용하여 스캔 실행 변수를 올바르게 적용하기 위해 해당 변수는 이제 제외된 분석기에 대해 정의된 프로젝트 변수를 덮어씁니다.

사용자는 17.0 이전에 이러한 동작을 강제하는 기능 플래그를 활성화할 수 있습니다. 17.0에서는 변수가 정의된 스캔 실행 정책에 _EXCLUDED_ANALYZERS/_EXCLUDED_PATHS 변수를 활용하는 프로젝트는 기본적으로 덮어쓰입니다.

</div>

17.0에서 제거되는 것들:

보안 분석기 주요 버전 업데이트

GitLab 17.0 릴리스와 함께 Secure 단계에서 분석기의 주요 버전을 업데이트할 것입니다.

기본 포함된 템플릿을 사용하거나 분석기 버전을 고정시킨 경우, 해당 버전을 제거하거나 최신 주요 버전으로 업데이트해야 합니다.

GitLab 16.0-16.11 사용자는 GitLab 17.0 릴리스 이전까지 분석기 업데이트를 계속하여 정상적으로 진행할 것이며, 이후에는 새로운 주요 버전에서만 새로 수정된 버그와 출시된 기능이 제공됩니다.

후기 버전에 보안 패치가 필요한 경우, 해당 패치는 최신 3개의 마이너 릴리스에서만 되돌아가게 될 것입니다.

구체적으로 다음 분석기들은 향후 GitLab 17.0 릴리스 이후에 더 이상 업데이트되지 않을 것입니다:

  • 컨테이너 스캐닝: 버전 6
  • 의존성 스캐닝: 버전 4
  • DAST: 버전 4
  • DAST API: 버전 3
  • Fuzz API: 버전 3
  • 비밀 감지: 버전 5
  • 정적 애플리케이션 보안 테스트 (SAST): 모든 분석기의 버전 4
    • brakeman
    • flawfinder
    • kubesec
    • mobsf
    • nodejs-scan
    • phpcs-security-audit
    • pmd-apex
    • semgrep
    • sobelow
    • spotbugs

</div>

보안 정책 필드 match_on_inclusion은 제거되었습니다.

스캔 결과 정책에 대한 추가적인 필터 지원에서 newly_detected 필드를 new_needs_triagenew_dismissed로 분리했습니다. 보안 정책 YAML에 두 옵션을 모두 포함하여 원래의 newly_detected 필드와 동일한 결과를 얻을 수 있습니다. 그러나 new_needs_triage만 사용하여 삭제된 결과를 무시하도록 필터를 좁힐 수 있습니다. epic 10203에서의 토론을 바탕으로 match_on_inclusion 필드의 이름을 더 명확하게 하기 위해 YAML 정의에서 match_on_inclusion_license로 변경하였습니다.

</div>

보안 정책 필드 newly_detected가 사용되지 않음

스캔 결과 정책에 대한 추가 필터 지원에서 newly_detected 필드를 new_needs_triagenew_dismissed 두 옵션으로 분리했습니다. 보안 정책 YAML에 두 옵션을 모두 포함하면 원래의 newly_detected 필드와 동일한 결과를 얻을 수 있습니다. 그러나 이제 new_needs_triage만 사용하여 기존의 해제된 결과를 무시하도록 필터를 좁힐 수 있습니다.

</div>

단일 데이터베이스 연결이 사용되지 않음

이전에 GitLab의 데이터베이스 구성은 main: 섹션 하나만 있었습니다. 이것이 사용되지 않음으로 표시되고 있습니다. 새로운 구성에는 main:ci: 두 개의 섹션이 있습니다.

이 동에 대한 사용되지 않음은 GitLab을 원본에서 컴파일하는 사용자에 영향을 미칩니다. 이 사용자들은 GitLab 16.0부터 이 구성을 자동으로 처리하는 Omnibus, Helm 차트 및 Operator를 필요로 합니다. 공식적인 설치 옵션에 대한 자세한 내용은 ci: 섹션을 추가해야 합니다.

Self-hosted Sentry 버전 21.4.1 및 이전 버전의 지원이 사용되지 않음

Self-hosted Sentry 버전 21.4.1 및 이전 버전의 지원이 사용되지 않으며 GitLab 17.0 이후에 제거될 예정입니다.

자체 호스트하는 Sentry 버전이 21.4.1 또는 그 이전 버전인 경우, GitLab을 17.0 또는 그 이후 버전으로 업그레이드한 후 GitLab 인스턴스로부터 오류를 수집할 수 없을 수 있습니다. GitLab 인스턴스에서 오류를 Sentry 인스턴스로 계속 전송하려면 Sentry를 21.5.0 이상 버전으로 업그레이드해야 합니다. 자세한 내용은 Sentry 문서를 참조하세요.

참고: 사용되지 않는 지원은 관리자를 위한 GitLab 인스턴스 오류 추적 기능과 관련이 있습니다. 사용되지 않는 지원은 개발자가 배포한 애플리케이션의 GitLab 오류 추적과 관련이 없습니다.

백업에 사용되는 사용자 정의 스키마 지원이 사용되지 않음

Linux 패키지 설치를 위해 /etc/gitlab/gitlab.rb에서 gitlab_rails['backup_pg_schema'] = '<스키마_이름>'을 설정하거나 자체로 컴파일하여 설치한 경우 config/gitlab.yml을 편집하여 GitLab을 사용자 정의 스키마로 구성할 수 있었습니다. 그러나 이 설정은 효과가 없었으며 의도한 목적을 달성하지 못했습니다. 이 구성 설정은 GitLab 17.0에서 제거될 예정입니다.

GitHub 가져오기 Rake 작업

GitLab 16.6에서 GitHub 가져오기 Rake 작업이 사라집니다. Rake 작업에는 API에서 지원되는 여러 기능이 부족하며 활발하게 유지보수되지 않습니다.

GitLab 17.0에서 Rake 작업이 제거될 것입니다.

대신, GitHub 저장소는 API 또는 UI를 사용하여 가져올 수 있습니다.

GitLab 레거시 요구 사항 IID는 작업 항목 IID의 지양을 위해 더 이상 사용되지 않습니다.

요구 사항을 작업 항목 유형으로 이동한 결과 새로운 IID로 전환될 것입니다. 사용자는 레거시 IID와 기존 형식 지원이 GitLab 17.0에서 종료되기 전에 새로운 IID를 사용하기 시작해야 합니다. 레거시 요구 사항 IID는 GitLab 17.0에서 그 제거가 이루어질 때까지 사용 가능합니다.

비주얼 리뷰 도구가 사라집니다.

고객 사용률과 기능이 제한적이기 때문에 리뷰 앱을 위한 비주얼 리뷰 기능이 사라집니다. 계획된 대체품은 없으며 사용자는 GitLab 17.0 이전에 비주얼 리뷰를 사용 중지해야 합니다.

ci_job_token_scope_enabled 프로젝트 API 속성이 사라집니다.

GitLab 16.1에서 작업 토큰 범위를 위한 API 엔드포인트가 도입되었습니다. 프로젝트 API에서 ci_job_token_scope_enabled 속성이 더 이상 사용되지 않으며, 17.0에서 제거될 것입니다. 대신 작업 토큰 범위 API를 사용해야 합니다.

gitlab-runner exec 명령어가 사라집니다.

gitlab-runner exec 명령어가 사라질 예정이며 완전히 GitLab Runner에서 제거될 것입니다. gitlab-runner exec 기능은 처음에는 GitLab 인스턴스에 업데이트를 커밋할 필요 없이 로컬 시스템에서 GitLab CI 파이프라인을 검증하는 기능을 제공하기 위해 개발되었습니다. 그러나 계속되는 GitLab CI의 진화로 인해 gitlab-runner exec에서 모든 GitLab CI 기능을 복제하는 것은 더 이상 실현 가능하지 않았습니다. 파이프라인 구문 및 유효성 검사 시뮬레이션은 GitLab 파이프라인 편집기에서 사용할 수 있습니다.

GitLab 에이전트 for Kubernetes의 pull-based 배포 기능이 폐지되었습니다

  • GitLab 16.2에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐지 사항 이슈를 참조하세요.

우리는 Flux 및 관련 통합을 선호하여 GitLab 에이전트 for Kubernetes의 내장형 pull-based 배포 기능을 폐지합니다.

GitLab 에이전트 for Kubernetes 폐지되지 않았습니다. 이 변경 사항은 에이전트의 pull-based 기능에만 영향을 미칩니다. 모든 다른 기능은 유지되며 GitLab은 계속해서 Kubernetes용 에이전트를 지원할 것입니다.

pull-based 배포에 에이전트를 사용 중이라면 Flux로 마이그레이션해야 합니다. Flux는 GitOps를 위한 성숙한 CNCF 프로젝트이기 때문에, 우리는 2023년 2월에 Flux를 GitLab과 통합하기로 결정했습니다.

트리거 작업은 하류 파이프라인 상태를 정확하게 반영할 수 있습니다

  • GitLab 15.9에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐지 사항 이슈를 참조하세요.

하류 파이프라인이 passed with warnings 상태인 경우와 같이, strategy: depend를 사용하는 트리거 작업은 하류 파이프라인의 상태를 정확하게 반영하지 못하는 경우가 있었습니다. GitLab 17.0에서 트리거 작업은 하류 파이프라인과 정확히 동일한 상태를 보여줄 것입니다. 여러분의 파이프라인이 이러한 동작에 의존하는 경우, 더 정확한 상태를 처리하기 위해 파이프라인을 업데이트해야 합니다.

self-managed GitLab에서 Twitter OmniAuth 로그인 옵션이 폐지되었습니다

  • GitLab 16.3에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐지 사항 이슈를 참조하세요.

Twitter OAuth 1.0a OmniAuth가 낮은 사용률 및 젬 지원 부족으로 인해 GitLab 17.0에서 self-managed GitLab 인스턴스에서 제거되고 있으며, 다른 지원되는 OmniAuth 제공자를 사용하시기 바랍니다.

통합 승인 규칙이 폐지되었습니다

  • GitLab 16.1에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐지 사항 이슈를 참조하세요.

다수의 승인 규칙이 더 많은 유연성을 제공하기 위해 통합 승인 규칙이 폐지되었습니다. 통합 승인 규칙을 다중 승인 규칙으로 마이그레이션하는 데 일부 파손될 수 있습니다. 수동으로 마이그레이션하는 데 도움을 주기 위해 마이그레이션 문서가 도입되었습니다. 통합 승인 규칙이 제거되기 전에 수동으로 마이그레이션하지 않으면 GitLab이 설정을 자동으로 마이그레이션할 것입니다.

GitLab 15.11에서 통합 승인 규칙에 대한 UI 지원이 제거되었습니다. 여전히 API로 통합 승인 규칙에 액세스할 수 있습니다.

Linux용 GitLab SaaS 러너의 운영 체제 버전 업그레이드

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐지 사항 이슈를 참조하세요.

GitLab은 Linux용 SaaS 러너에서 작업을 실행하는 임시 VM의 컨테이너 최적화된 운영 체제(COS)를 업그레이드하고 있습니다. 해당 COS 업그레이드에는 Docker Engine 19.03.15에서 20.05.5로의 업그레이드가 포함되어 있어 알려진 호환성 문제를 도입합니다.

Docker-in-Docker 버전 20.10 이전이나 Kaniko 이미지 버전 v1.9.0 이전은 컨테이너 실행 환경을 감지하지 못하고 실패할 것입니다.

자세한 정보는 Linux용 SaaS 러너의 운영 체제 버전 업그레이드를 참조하세요.

취약점 신뢰도 필드

GitLab 15.3에서 버전 15 이하인 보안 보고서 스키마가 Deprecated 되었습니다. 취약점 발견에 대한 신뢰도 속성은 15-0-0 버전 스키마 이전에만 존재하며, 따라서 GitLab 15.4에서는 스키마 버전 15-0-0을 지원하므로 실질적으로 더 이상 사용되지 않습니다. 보고서 및 공개 API의 일관성을 유지하기 위해 GraphQL API의 취약점 관련 구성 요소의 신뢰도 속성이 더 이상 사용되지 않으며 17.0에서 제거될 예정입니다.

Gitlab['omnibus_gitconfig'] 구성 항목이 Deprecated 되었습니다

omnibus_gitconfig['system'] 구성 항목은 Deprecated 되었습니다. Gitaly에 사용자 정의 Git 구성을 설정하기 위해 omnibus_gitconfig['system']을 사용한다면 GitLab 17.0으로 업그레이드하기 전에 반드시 gitaly[:configuration][:git][:config] 하위에서 직접 Git을 구성해야 합니다.

예를 들어:

  gitaly[:configuration][:git][:config] = [
    {
      key: 'fetch.fsckObjects',
      value: 'true',
    },
    # ...
  ]

구성 키의 형식은 CLI 플래그 git -c <configuration>을 통해 git에 전달되는 형식과 일치해야 합니다.

기존 키를 예상 형식으로 변환하는 데 문제가 있다면 Gitaly의 Linux 패키지 생성 구성 파일에서 예상 형식으로 변환된 기존 키를 확인하십시오. 기본적으로 구성 파일은 /var/opt/gitlab/gitaly/config.toml에 위치해 있습니다.

Gitaly에서 관리하는 다음 구성 옵션은 제거해야 합니다. 이러한 키들을 Gitaly로 마이그레이션할 필요가 없습니다.

  • pack.threads=1
  • receive.advertisePushOptions=true
  • receive.fsckObjects=true
  • repack.writeBitmaps=true
  • transfer.hideRefs=^refs/tmp/
  • transfer.hideRefs=^refs/keep-around/
  • transfer.hideRefs=^refs/remotes/
  • core.alternateRefsCommand="exit 0 #"
  • core.fsyncObjectFiles=true
  • fetch.writeCommitGraph=true

after_script 키워드는 취소된 잡에서 실행될 것입니다

after_script CI/CD 키워드는 작업의 기본 script 섹션 이후에 추가 명령을 실행하는 데 사용됩니다. 이것은 종종 작업에서 사용한 환경이나 기타 리소스를 정리하는 데 사용됩니다. 많은 사용자들에게 작업이 취소되면 after_script 명령이 실행되지 않는 점이 예상치 못하고 원치 않았습니다. 17.0에서는 이 키워드가 작업이 취소된 후에도 명령을 실행할 수 있도록 업데이트될 것입니다. after_script 키워드를 사용하는 CI/CD 구성이 취소된 작업에 대해 실행할 수 있도록 처리할 수 있도록 확인하세요.

dependency_files가 Deprecated 되었습니다

오늘날의 GitLab에서 프로젝트의 종속성 목록은 Dependency Scanning 보고서의 dependency_files에서 생성됩니다. 그러나 GitLab 17.0부터는 프로젝트의 종속성 목록이 GitLab의 PostgreSQL 데이터베이스에 저장된 CycloneDX SBOM 보고서 아티팩트를 사용하도록 변경될 것입니다. 따라서 Dependency Scanning 보고서 스키마의 dependency_files 속성이 Deprecated 되며 17.0에서 제거될 예정입니다.

이 Deprecation의 일환으로 dependency_path 역시 Deprecated 되며 17.0에서 제거될 것입니다. GitLab은 동일한 정보를 제공하기 위해 CycloneDX 사양을 사용한 종속성 그래프의 구현을 진행할 것입니다.

추가로, Container Scanning CI 작업은 더 이상 종속성 목록을 제공하지 않을 것이며, 이는 CycloneDX SBOM 보고서로 대체되므로 제거될 예정입니다. Container Scanning의 CS_DISABLE_DEPENDENCY_LIST 환경 변수도 더 이상 사용되지 않을 것이며 17.0에서 제거될 것입니다.

DORA API의 metric 필터 및 value 필드

  • GitLab 16.8에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토의하거나 자세히 알아보려면 사양 폐지 이슈를 확인하세요.

새로운 metrics 필드를 사용하여 여러 DORA 메트릭을 동시에 쿼리할 수 있습니다. Graphql DORA API의 metric 필터 및 value 필드는 GitLab 17.0에서 제거될 예정입니다.

</div>

omniauth-azure-oauth2 gem이 폐지됨

  • GitLab 16.9에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토의하거나 자세히 알아보려면 사양 폐지 이슈를 확인하세요.

GitLab 사용자는 omniauth-azure-oauth2 gem을 사용하여 GitLab에 인증할 수 있습니다. 17.0에서 이 gem은 omniauth_openid_connect gem으로 교체됩니다. 새로운 gem에는 이전 gem과 동일한 기능이 포함되어 있지만 upstream 유지보수 및 보안 및 중앙 집중식 유지보수에 더 적합합니다.

이 변경으로 사용자는 마이그레이션 시 OAuth2 공급자에 다시 연결해야 합니다. 중단을 피하려면 17.0 이전에 언제든지 새로운 공급자로 omniauth_openid_connect를 추가하세요. 사용자는 새로운 로그인 버튼을 보며 자격 증명을 수동으로 다시 연결해야 합니다. 17.0 이전에 omniauth_openid_connect gem을 구현하지 않으면 사용자는 더 이상 Azure 로그인 버튼을 사용하여 로그인할 수 없으며 올바른 gem이 관리자에 의해 구현될 때까지 사용자는 사용자 이름과 암호를 사용하여 로그인해야 합니다.

postgres_exporter['per_table_stats'] 구성 설정

  • GitLab 16.4에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토의하거나 자세히 알아보려면 사양 폐지 이슈를 확인하세요.

Linux 패키지는 묶인 PostgreSQL Exporter를 위해 per_table_stats 쿼리를 포함하는 사용자 정의 쿼리를 제공했습니다. 이 쿼리는 postgres_exporter['per_table_stats'] 구성 설정으로 제어됩니다.

이제 PostgreSQL Exporter는 동일한 메트릭을 제공하는 stat_user_tables 수집기를 제공합니다. 따라서 postgres_exporter['per_table_stats']를 사용 중이라면 대신에 postgres_exporter['flags']['collector.stat_user_tables']를 활성화하세요.

sidekiq 전달 방법은 incoming_emailservice_desk_email에서 폐지됨

  • GitLab 16.0에서 발표됨
  • GitLab 17.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토의하거나 자세히 알아보려면 사양 폐지 이슈를 확인하세요.

incoming_emailservice_desk_email에 대한 sidekiq 전달 방법은 폐지되며 GitLab 17.0에서 삭제될 예정입니다.

GitLab은 mail_room이라는 별도의 프로세스를 사용하여 이메일을 수집합니다. 현재 GitLab 관리자는 mail_room에서 GitLab으로 이메일을 전달하기 위해 sidekiq 또는 webhook 전달 방법을 구성할 수 있습니다.

폐지된 sidekiq 전달 방법을 사용하면 mail_room이 작업 데이터를 직접 GitLab Redis 대기열에 기록합니다. 이는 전달 방법과 Redis 구성 간의 강력한 결합을 의미합니다. 또 다른 단점은 작업 페이로드 압축과 같은 프레임워크 최적화가 누락된다는 것입니다.

webhook 전달 방법을 사용하면 mail_room이 수집된 이메일 본문을 GitLab API로 푸시합니다. 이 방법은 mail_room이 Redis 구성을 알 필요가 없으며 GitLab 응용 프로그램이 처리 작업을 추가합니다. mail_room은 공유 시크릿 키를 사용하여 인증합니다.

Omnibus 설치를 다시 구성하면이 시크릿 키 파일이 자동으로 생성되므로 시크릿 파일 구성 설정이 필요하지 않습니다.

사용자는 다음과 같은 명령을 실행하여 사용자 지정 시크릿 키 파일 (32자 기반 64 진수 인코딩)을 구성하고 incoming_email_secret_fileservice_desk_email_secret_file에서 시크릿 파일을 참조할 수 있습니다(항상 절대 경로를 지정하십시오):

echo $( ruby -rsecurerandom -e "puts SecureRandom.base64(32)" ) > ~/.gitlab-mailroom-secret

만약 여러 대의 기계에서 GitLab을 실행하는 경우 각 기계에 대해 시크릿 키 파일을 제공해야 합니다.

incoming_email_delivery_methodservice_desk_email_delivery_method에 대한 sidekiq에서 webhook 전달 방법으로 전환하는 것을 강력히 권장합니다.

이슈 393157에서 이메일 수신을 개선하는 데 대해 추적하고 있습니다. 우리는 이로 인해 인프라 설정을 단순화하고 GitLab을 어떻게 관리하는지에 대해 몇 가지 개선 사항을 추가할 것으로 기대합니다.

npm 패키지 업로드는 이제 비동기적으로 발생합니다

  • GitLab에서 발표된 것: 16.9
  • GitLab에서 제거될 것: 17.0 (중단 변경)
  • 이 변경 사항에 대해 논의하거나 더 자세히 알아보려면 중단 이슈를 참조하십시오.

GitLab 패키지 레지스트리는 npm 및 Yarn을 지원합니다. npm 또는 Yarn 패키지를 업로드하면 업로드가 동기적으로 이루어집니다. 그러나 동기적인 업로드에는 알려진 문제점이 있습니다. 예를 들어, GitLab은 재정의(overrides)와 같은 기능을 지원하지 않습니다.

17.0부터 npm 및 Yarn 패키지는 비동기적으로 업로드될 것입니다. 이 변경은 중단 변경이며, 이로 인해 패키지가 발행되자마자 사용 가능하다고 예상하는 파이프라인이 있을 수 있습니다.

일시적 방편으로 패키지를 확인하려면 패키지 API를 사용해야 합니다.

project.pipeline.securityReportFindings GraphQL 쿼리

  • GitLab에서 발표된 것: 15.1
  • GitLab에서 제거될 것: 17.0 (중단 변경)
  • 이 변경 사항에 대해 논의하거나 더 자세히 알아보려면 중단 이슈를 참조하십시오.

이전 작업은 파이프라인 보안 탭에 대한 취약점 호출을 정렬하여 프론트엔드에서 더 일관된 인터페이스를 갖도록 도왔습니다. 예전의 project.pipeline.securityReportFindings 쿼리는 다른 취약점 데이터 호출과 형식이 달랐습니다. 이제 새로운 project.pipeline.vulnerabilities 필드로 교체되어 예전의 project.pipeline.securityReportFindings는 폐지되고 GitLab 17.0에서 제거될 예정입니다.

</div>

GitLab 16.9

lfs_check 기능 플래그의 폐지

  • GitLab에서 발표된 것: 16.6
  • GitLab에서 제거될 것: 16.9
  • 이 변경 사항에 대해 논의하거나 더 자세히 알아보려면 중단 이슈를 참조하십시오.

GitLab 16.9에서 lfs_check 기능 플래그를 제거할 것입니다. 이 기능 플래그는 4년 전에 도입되었으며 LFS 무결성 확인을 제어합니다. 이 기능 플래그는 기본적으로 활성화되어 있지만, 일부 고객은 LFS 무결성 확인과 관련된 성능 문제를 경험하고 명시적으로 비활성화했습니다.

LFS 무결성 확인의 성능을 현격히 개선한 후, 이제 기능 플래그를 제거할 준비가 되었습니다. 플래그가 제거되면 해당 환경에서 현재 비활성화되어 있는 경우에도 기능이 자동으로 켜집니다.

환경별로 이 기능 플래그가 비활성화되어 있는 경우, 성능 문제에 대한 걱정이 있다면 16.9에서 제거되기 전에 활성화하여 성능을 모니터링하십시오. 활성화한 후에 성능 문제가 발생하는 경우에는 이 피드백 이슈에 알려주십시오.

GitLab 16.8

openSUSE Leap 15.4 패키지

  • GitLab에서 발표된 것: 16.5
  • GitLab에서 제거될 것: 16.8
  • 이 변경 사항에 대해 논의하거나 더 자세히 알아보려면 중단 이슈를 참조하십시오.

openSUSE Leap 15.4에 대한 지원 및 보안 업데이트가 2023년 11월에 종료됩니다.

GitLab 15.4에서 openSUSE Leap 15.4용 패키지를 제공했습니다. 그러나 GitLab 15.8 이후로는 openSUSE Leap 15.4용 패키지를 제공하지 않을 것입니다.

GitLab 15.8 이후를 위해 다음을 준비해야 합니다:

  1. openSUSE Leap 15.4에서 openSUSE Leap 15.5로 인스턴스 이동.
  2. openSUSE Leap 15.4용 GitLab 제공 패키지를 openSUSE Leap 15.5용 GitLab 제공 패키지로 전환.

GitLab 16.7

Shimo 통합

  • GitLab 15.7에서 발표됨
  • GitLab 16.7에서 삭제됨 (breaking change)
  • 이 변경 사항에 대해 토의하거나 자세히 알아보려면 제외 문제를 참조하세요.

Shimo Workspace 통합은 향후 JiHu GitLab 코드베이스로 이동될 예정입니다.

user_email_lookup_limit API 필드

  • GitLab 14.9에서 발표됨
  • GitLab 16.7에서 삭제됨 (breaking change)

user_email_lookup_limit API 필드는 GitLab 14.9에서 사용 중단되었으며 GitLab 16.7에서 제거되었습니다. 이 기능이 제거될 때까지 user_email_lookup_limitsearch_rate_limit의 별칭이며 기존 워크플로우는 여전히 작동합니다.

user_email_lookup_limit의 속도 제한을 변경하려면 search_rate_limit을 대신 사용해야 합니다.

GitLab 16.6

Job 토큰 허용 목록에 공개 및 내부 프로젝트 포함

  • GitLab 16.3에서 발표됨
  • GitLab 16.6에서 삭제됨 (breaking change)
  • 이 변경 사항에 대해 토의하거나 자세히 알아보려면 제외 문제를 참조하세요.

16.6부터, public 또는 internal인 프로젝트는 프로젝트에 대한 액세스 제한 설정이 활성화되어 있지 않은 프로젝트에서의 작업 토큰 요청을 더 이상 허용하지 않습니다.

프로젝트에 대한 액세스 제한 설정이 활성화된 public 또는 internal 프로젝트에 대해 작업 토큰 요청을 하는 프로젝트를 계속하여 인가하려면, 작업 토큰 허용 목록에 해당 프로젝트를 추가해야 합니다.

GitLab 16.5

LDAP 동기화되지 않은 멤버를 잠긴 LDAP 그룹에 추가하는 것은 사용 중지됩니다

  • GitLab 16.0에서 발표됨
  • GitLab 16.5에서 삭제됨
  • 이 변경 사항에 대해 토의하거나 자세히 알아보려면 제외 문제를 참조하세요.

ldap_settings_unlock_groups_by_owners 기능 플래그를 활성화하면 LDAP 동기화되지 않은 사용자를 잠긴 LDAP 그룹에 추가할 수 있었습니다. 이 기능은 항상 기본적으로 비활성화되어 있었으며 기능 플래그 뒤에 숨겨져 있었습니다. 우리는 SAML 통합과의 일관성을 유지하고 동기화되지 않은 그룹 멤버를 허용하는 것이 디렉터리 서비스를 사용하는 “단일 진실 원칙”을 무효화한다는 이유로 이 기능을 제거하고 있습니다. 이 기능이 제거되면 LDAP 그룹 멤버 중 LDAP와 동기화되지 않은 사용자는 해당 그룹의 액세스 권한을 잃게 됩니다.

Geo: 하우스키퍼링 Rake 작업

  • GitLab 16.3에서 발표됨
  • GitLab 16.5에서 삭제됨 (breaking change)
  • 이 변경 사항에 대해 토의하거나 자세히 알아보려면 제외 문제를 참조하세요.

프로젝트 저장소의 레플리케이션 및 확인을 Geo Self-Service Framework (SSF)로 마이그레이션하는 일환으로, 전통적인 프로젝트 저장소 레플리케이션을 제거했습니다. 이에 따라 이전에 전통적인 코드에 의존했던 다음 Rake 작업도 제거되었습니다. 이러한 Rake 작업에서 발생하는 작업은 이제 주기적으로 또는 트리거 이벤트를 기반으로 자동으로 트리거됩니다.

Rake 작업 대체
geo:git:housekeeping:full_repack UI로 이동. SSF에는 해당하는 Rake 작업이 없습니다.
geo:git:housekeeping:gc 새 저장소에 대해 항상 실행되며 필요할 때 실행됩니다. SSF에는 해당하는 Rake 작업이 없습니다.
geo:git:housekeeping:incremental_repack 필요할 때 실행됩니다. SSF에는 해당하는 Rake 작업이 없습니다.
geo:run_orphaned_project_registry_cleaner 고아 레지스트리를 제거하는 레지스트리 일관성 워커에 의해 정기적으로 실행됩니다. SSF에는 해당하는 Rake 작업이 없습니다.
geo:verification:repository:reset UI로 이동. SSF에는 해당하는 Rake 작업이 없습니다.
geo:verification:wiki:reset UI로 이동. SSF에는 해당하는 Rake 작업이 없습니다.

GitLab 16.3

번들된 Grafana가 폐지 예정 및 비활성화

  • GitLab 16.0에서 발표됨
  • GitLab 16.3에서 제거될 예정 (breaking change)
  • 이 변경에 대한 토론이나 자세한 내용은 폐지 사항 이슈를 참조하세요.

Omnibus GitLab에 번들된 Grafana의 버전이 16.0에서 폐지 예정이며 16.3에서 비활성화될 예정입니다. 번들된 Grafana를 사용 중이라면 다음 중 하나로 마이그레이션해야 합니다:

현재 제공되는 Grafana 버전은 더 이상 지원되지 않습니다.

GitLab 버전 16.0부터 16.2까지는 여전히 번들된 Grafana를 다시 활성화할 수 있습니다. 그러나 16.3부터는 번들된 Grafana를 다시 활성화하는 것이 더 이상 작동하지 않을 것입니다.

라이선스 컴플라이언스 CI 템플릿

  • GitLab 15.9에서 발표됨
  • GitLab 16.3에서 제거될 예정 (breaking change)
  • 이 변경에 대한 토론이나 자세한 내용은 폐지 사항 이슈를 참조하세요.

업데이트: 이전에는 GitLab 16.0에서 기존의 라이선스 컴플라이언스 CI 템플릿을 제거할 예정이었습니다. 그러나 CycloneDX 파일의 라이선스 스캔에 대한 성능 문제로 인해 대신 16.3에서 이 작업을 수행할 예정입니다.

GitLab 라이선스 컴플라이언스 CI/CD 템플릿이 현재 폐지 예정이며 GitLab 16.3 릴리즈에서 제거될 예정입니다.

라이선스 컴플라이언스를 계속 사용하려면 CI/CD 파이프라인에서 라이선스 컴플라이언스 템플릿을 제거하고 의존성 스캔 템플릿을 추가하세요. 의존성 스캔 템플릿은 필요한 라이선스 정보를 수집할 수 있으므로 별도의 라이선스 컴플라이언스 작업을 실행할 필요가 없게 되었습니다.

라이선스 컴플라이언스 CI/CD 템플릿을 제거하기 전에 새로운 라이선스 스캔 방법을 지원하는 버전으로 인스턴스가 업그레이드되었는지 확인하세요.

대규모로 빠르게 의존성 스캐너를 시작하려면 그룹 수준에서 스캔 실행 정책을 설정하여 그룹의 모든 프로젝트에 대해 SBOM 기반의 라이선스 스캔을 강제로 적용할 수 있습니다. 그런 다음 CI/CD 구성에서 Jobs/License-Scanning.gitlab-ci.yml 템플릿을 포함하지 않도록 설정할 수 있습니다.

기존의 라이선스 컴플라이언스 기능을 계속 사용하려면 LICENSE_MANAGEMENT_VERSION CI 변수를 4로 설정하여 프로젝트, 그룹 또는 인스턴스 수준에서 설정할 수 있습니다. 이 구성 변경을 통해 새로운 방법으로 전환할 필요 없이 기존 버전의 라이선스 컴플라이언스를 계속 사용할 수 있습니다.

이전에 이 레거시 분석기에서 발견된 버그 및 취약점은 더 이상 수정되지 않을 것입니다.

CI 파이프라인 포함 GitLab <= 15.8 15.9 <= GitLab < 16.3 GitLab >= 16.3
DS와 LS 템플릿 모두 포함 LS 작업에서 라이선스 데이터 사용 LS 작업에서 라이선스 데이터 사용 DS 작업에서 라이선스 데이터 사용
DS 템플릿이 포함되지만 LS 템플릿은 포함되지 않음 라이선스 데이터 없음 DS 작업에서 라이선스 데이터 사용 DS 작업에서 라이선스 데이터 사용
LS 템플릿이 포함되지만 DS 템플릿은 포함되지 않음 LS 작업에서 라이선스 데이터 사용 LS 작업에서 라이선스 데이터 사용 라이선스 데이터 없음

RSA 키 크기 제한

  • GitLab 16.3에서 발표됨
  • GitLab 16.3에서 제거될 예정 (breaking change)
  • 이 변경에 대한 토론이나 자세한 내용은 폐지 사항 이슈를 참조하세요.

Go 버전 1.20.7 이상에서는 RSA 키를 최대 8192비트로 제한하는 maxRSAKeySize 상수가 추가되었습니다. 따라서 8192비트보다 큰 RSA 키는 GitLab에서 더 이상 작동하지 않을 것입니다. 8192비트보다 큰 RSA 키는 더 작은 크기로 다시 생성해야 합니다.

귀하의 로그에 "tls: server sent certificate containing RSA key larger than 8192 bits"와 같은 오류가 포함되어 있는 경우 이 문제를 인식할 수 있습니다. 키의 길이를 테스트하려면 다음 명령을 사용하십시오: openssl rsa -in <your-key-file> -text -noout | grep "Key:".

GitLab.com에서 Twitter OmniAuth 로그인 옵션이 제거되었습니다

  • GitLab 16.3에서 발표됨
  • GitLab 16.3에서 제거됨 (중단 변경)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 이슈를 확인하세요.

Twitter OAuth 1.0a OmniAuth가 낮은 사용량, gem 지원 부족 및 이 기능에 대한 기능적인 로그인 옵션이 없어서 GitLab.com에서 GitLab 16.3에서 사용 중단되고 제거됩니다. 만약 Twitter로 GitLab.com에 로그인하는 경우, 비밀번호나 다른 지원되는 OmniAuth 제공자로 로그인할 수 있습니다.

GitLab 16.1

GitLab Runner 이미지 - Alpine 3.12, 3.13, 3.14 기반

  • GitLab 15.11에서 발표됨
  • GitLab 16.1에서 지원 종료
  • GitLab 16.1에서 제거
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 이슈를 확인하세요.

다음의 엔드 오브 라이프 Alpine 버전을 기반으로 하는 러너 이미지를 공개하지 않겠습니다:

  • Alpine 3.12
  • Alpine 3.13
  • Alpine 3.14 (2023년 5월 23일에 엔드 오브 라이프)

GitLab 16.0

Auto DevOps가 더 이상 기본적으로 PostgreSQL 데이터베이스를 프로비저닝하지 않음

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 이슈를 확인하세요.

현재, Auto DevOps는 기본적으로 클러스터 내 PostgreSQL 데이터베이스를 프로비저닝합니다. GitLab 16.0에서는 데이터베이스가 선택적인 사용자에게만 프로비저닝됩니다. 이 변경으로 더 견고한 데이터베이스 관리가 필요한 프로덕션 배포를 지원합니다.

만약 Auto DevOps가 클러스터 내 데이터베이스를 프로비저닝하게 하려면, POSTGRES_ENABLED CI/CD 변수를 true로 설정하세요.

Azure Storage 드라이버의 기본 루트 접두어가 올바르게 설정됨

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 이슈를 확인하세요.

컨테이너 레지스트리의 Azure Storage 드라이버는 기본 루트 디렉터리로 //에 쓰여집니다. 이 기본 루트 디렉터리는 Azure UI의 일부에서 /<no-name>/으로 표시됩니다. 이전에 이 저장 드라이버를 사용한 구현을 지원하기 위해 이 전통적인 동작을 유지했습니다. 그러나 Azure로 다른 저장 드라이버에서 옮겨올 때, 이 동작은 추가 슬래시 없이 루트 경로를 빌드하도록 trimlegacyrootprefix: true를 설정해야 합니다.

저장 드라이버의 새로운 기본 구성은 trimlegacyrootprefix: true를 설정하고 /가 기본 루트 디렉터리로 될 것입니다. 현재의 구성에 trimlegacyrootprefix: false를 추가하여 어떠한 중단도 없이 계속 사용할 수 있습니다.

이 중단 변경은 GitLab 16.0에서 발생합니다.

번들된 Grafana Helm 차트는 더 이상 지원되지 않음

  • GitLab 15.10에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 이슈를 확인하세요.

GitLab Helm 차트와 번들된 Grafana Helm 차트는 GitLab Helm Chart 7.0 릴리스(16.0과 함께 릴리스)에서 제거될 예정입니다.

번들된 Grafana Helm 차트는 옵션 서비스로, GitLab Helm Chart의 Prometheus 메트릭에 연결된 Grafana UI를 제공합니다.

GitLab Helm Chart가 현재 제공하는 Grafana 버전은 더 이상 지원되지 않는 버전입니다. 번들된 Grafana를 사용 중이라면, Grafana Labs에서의 새로운 차트 버전 또는 신뢰할 수 있는 제공업체의 Grafana Operator로 전환해야 합니다.

새로운 Grafana 인스턴스에서 GitLab 제공 Prometheus를 데이터 소스로 설정 하고 Grafana를 GitLab UI에 연결할 수 있습니다.

CAS OmniAuth 프로바이더

  • GitLab 15.3에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

다음 주요 릴리스인 GitLab 16.0에서 GitLab에 CAS OmniAuth 프로바이더를 제공하는 ‘omniauth-cas3’ 젬이 제거될 예정입니다. 이 젬은 사용률이 매우 낮고 상류 유지보수가 이루어지지 않아 GitLab의 OmniAuth 2.0으로의 업그레이드를 방해하고 있습니다.

Hashicorp Vault에서 시크릿이 반환되지 않을 때 CI/CD 작업이 실패할 것입니다.

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

내장된 HashiCorp Vault 통합을 사용할 때, Vault에서 시크릿이 반환되지 않으면 CI/CD 작업이 실패할 것입니다. GitLab 16.0 이전에 설정이 항상 시크릿을 반환하도록 하거나 이 변경 사항을 처리할 수 있도록 사용 중인 파이프라인을 업데이트하세요.

멀티 모듈 안드로이드 프로젝트에서 MobSF 기반 SAST 분석기 동작 변경

  • GitLab 16.0에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

업데이트: 이전에 MobSF 기반의 GitLab SAST 분석기가 멀티 모듈 안드로이드 프로젝트를 스캔하는 방식을 변경한다고 발표했었지만, 해당 변경 사항을 취소했으며 추가 조치가 필요하지 않습니다.

단일 모듈을 스캔하는 대신 멀티 모듈 지원을 개선했습니다.

/approvals API 엔드포인트를 사용하여 병합 요청 승인 변경

  • GitLab 14.0에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

병합 요청에 필요한 승인을 변경하려면 GitLab 14.0에서 폐기된 /approvals API 엔드포인트를 더 이상 사용해서는 안 됩니다.

대신, 병합 요청의 승인 규칙을 생성하거나 업데이트하려면 /approval_rules 엔드포인트를 사용하세요.

프로젝트 수준 검색 엔드포인트가 프로젝트별 결과를 반환합니다.

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

GitLab Conan 리포지토리를 프로젝트별 또는 인스턴스별 엔드포인트로 사용할 수 있습니다. 각 수준은 conan search 명령을 지원합니다. 그러나 프로젝트 수준에서의 검색 엔드포인트는 대상 프로젝트 외부 패키지까지 반환하고 있습니다.

GitLab 15.8에서 비의도적으로 작동하는 이러한 기능은 GitLab 16.0에서 제거될 예정이며, 프로젝트 수준의 검색 엔드포인트는 대상 프로젝트의 패키지만 반환하도록 변경될 것입니다.

GitLab Runner Helm 차트의 구성 필드

  • GitLab 15.6에서 발표됨
  • GitLab 16.0에서 삭제됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안 이슈를 참조하세요.

GitLab 13.6부터 사용자는 GitLab Runner Helm 차트에서 모든 runner 구성을 지정할 수 있습니다. 이 기능을 구현할 때 GitLab Helm 차트 구성에 특정한 GitLab Runner에 해당하는 값을 사용하지 않도록 하기로 하였습니다. 이러한 필드는 사용이 중단되었으며, GitLab Runner Helm 차트의 v1.0에서 이를 삭제할 계획입니다.

환경 변수를 사용하여 Redis 구성 파일 경로 설정하는 것은 사용이 중단됨

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 삭제됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안 이슈를 참조하세요.

GITLAB_REDIS_CACHE_CONFIG_FILE 또는 GITLAB_REDIS_QUEUES_CONFIG_FILE 같은 환경 변수를 사용하여 더 이상 Redis 구성 파일 위치를 지정할 수 없습니다. 대신 기본 구성 파일 위치인 config/redis.cache.yml 또는 config/redis.queues.yml와 같이 사용하세요.

도커를 참조하는 컨테이너 스캐닝 변수

  • GitLab 15.4에서 발표됨
  • GitLab 16.0에서 삭제됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안 이슈를 참조하세요.

변수 이름에 DOCKER_로 시작하는 모든 컨테이너 스캐닝 변수가 사용이 중단되었습니다. 이에는 DOCKER_IMAGE, DOCKER_PASSWORD, DOCKER_USER, DOCKERFILE_PATH 변수가 포함됩니다. 이러한 변수 지원은 GitLab 16.0 릴리즈에서 제거될 예정입니다. 사용 중단된 이름 대신 새로운 변수 이름CS_IMAGE, CS_REGISTRY_PASSWORD, CS_REGISTRY_USER, CS_DOCKERFILE_PATH를 사용하세요.

컨테이너 레지스트리 pull-through 캐시

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 삭제됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안 이슈를 참조하세요.

컨테이너 레지스트리 pull-through cache가 GitLab 15.8에서 사용이 중단되며 GitLab 16.0에서 제거될 예정입니다. Pull-through 캐시는 상품 코드 프로젝트를 아래쪽으로 이동시키는 동안 GitLab 종속성 프록시의 지지를 이용하여 Docker Hub에서 컨테이너 이미지를 프록시하고 캐시하는 것을 가능케 합니다. Pull-through 캐시를 제거함으로써 우리는 기능을 희생하지 않고 상위 클라이언트 코드를 제거할 수 있습니다.

GitLab for Jira Cloud 앱에서의 쿠키 권한 부여

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 삭제됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안 이슈를 참조하세요.

GitLab for Jira Cloud 앱에서의 쿠키 인증은 이제 OAuth 인증을 지원하기 위해 사용이 중단되었습니다. 자체 관리형 환경에서는 OAuth 인증을 설정해야만 GitLab for Jira Cloud 앱을 계속 사용할 수 있습니다. OAuth가 없으면 연결된 네임스페이스를 관리할 수 없습니다.

DAST API 스캔에 DAST 템플릿을 사용하는 것은 폐지되었습니다

  • GitLab 15.7에서 발표됨
  • GitLab 16.0에서 삭제됨 (중단 변경)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐지 이슈를 참조하십시오.

새로운 DAST API 분석기 및 DAST-API.gitlab-ci.yml 템플릿으로 DAST API 스캔으로 이동함에 따라 DAST 분석기를 사용하여 API를 스캔하는 기능이 제거될 예정입니다. API 스캔에 DAST.gitlab-ci.yml 또는 DAST-latest.gitlab-ci.yml 템플릿을 사용하는 것은 GitLab 15.7에서 폐지되며 GitLab 16.0에서 더 이상 작동하지 않습니다. API 구성 세부 정보는 DAST API 분석기 문서를 참조하십시오.

DAST API 변수

  • GitLab 15.7에서 발표됨
  • GitLab 16.0에서 삭제됨 (중단 변경)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐지 이슈를 참조하십시오.

GitLab 15.6에서 새로운 DAST API 분석기로 전환되며, 두 가지 레거시 DAST API 변수가 폐지됩니다. DAST_API_HOST_OVERRIDEDAST_API_SPECIFICATION 변수는 더 이상 DAST API 스캔에 사용되지 않을 것입니다.

DAST_API_HOST_OVERRIDE는 OpenAPI 사양에서 호스트를 자동으로 재정의하기 위해 DAST_API_TARGET_URL를 사용하도록 대체되었습니다.

DAST_API_SPECIFICATIONDAST_API_OPENAPI를 사용하기 위해 대체되었습니다. 사용자가 테스트를 안내하는 데 여전히 OpenAPI 사양을 사용하려면 DAST_API_SPECIFICATION 변수를 DAST_API_OPENAPI 변수로 대체해야 합니다. 값은 변경하지 않고 변수 이름만 대체해야 합니다.

이 두 변수는 GitLab 16.0에서 제거될 예정입니다.

DAST 보고서 변수 폐지

  • GitLab 15.7에서 발표됨
  • GitLab 16.0에서 삭제됨 (중단 변경)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐지 이슈를 참조하십시오.

GitLab 15.7에서 새로운 브라우저 기반 DAST 분석기 GA로 이동하면서 향후 어느 시점에서 기본 DAST 분석기로 만들기 위해 두 가지 레거시 DAST 변수가 폐지되고 GitLab 16.0에서 삭제될 예정입니다: DAST_HTML_REPORT, DAST_XML_REPORT, 및 DAST_MARKDOWN_REPORT. 이러한 보고서는 레거시 DAST 분석기를 기반으로 하고 있으며 새로운 브라우저 기반 분석기에서는 구현하지 않을 계획입니다. GitLab 16.0부터는 이러한 보고서 artifact가 더 이상 생성되지 않습니다.

이 세 가지 변수는 GitLab 16.0에서 제거될 예정입니다.

기본 CI/CD 작업 토큰(CI_JOB_TOKEN)의 범위 변경됨

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 삭제됨 (중단 변경)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐지 이슈를 참조하십시오.

GitLab 14.4에서 프로젝트의 CI/CD 작업 토큰 (프로젝트의 작업 토큰 액세스 제한)을 제한하는 기능을 소개했습니다. 프로젝트의파이프라인에서 다른 프로젝트에 액세스하는 것을 방지할 수 있습니다. 기타 구성 없이 이 활성화되면 파이프라인에서 다른 프로젝트에 액세스할 수 없습니다. 파이프라인에서 다른 프로젝트에 작업 토큰을 사용하려면 해당 프로젝트를 제한 CI_JOB_TOKEN 액세스 설정의 허용 목록에 명시적으로 나열해야 하며, 모든 프로젝트에서 유지자 권한이 있어야 합니다.

15.9에서 작업 토큰 기능이 업데이트되어 작업 토큰으로 프로젝트에 액세스할 수 있도록 더 나은 보안 설정이 추가되었습니다. 기타 구성 없이 이 활성화되면 다른 프로젝트의 작업 토큰이 귀하의 프로젝트에 액세스할 수 없습니다. 이전 설정과 유사하게 명시적으로 다른 프로젝트가 귀하의 프로젝트에 작업 토큰으로 액세스하도록 허용할 수 있습니다. 새 설정을 사용하면 자신의 프로젝트에서는 유지자 권한이 있어야 하지만, 다른 프로젝트에서는 게스트 역할만 있어도 됩니다.

결과적으로 제한 설정은 더 나은 액세스 허용 설정으로 대체되어 기본적으로 모든 새 프로젝트의 제한 설정이 GitLab 16.0에서 비활성화될 것입니다. 현재 이 설정이 활성화된 프로젝트에서는 계속해서 기대한대로 작동할 수 있지만 더 이상 허용 목록에 프로젝트를 추가할 수는 없습니다. 18.0에서는 제한 설정의 이름이 변경되어 의미를 명확히 하였고, 제한 CI_JOB_TOKEN 액세스 설정은 이제 이 프로젝트로부터의 제한 접근으로, 더 신규한 작업 토큰으로 이 프로젝트에 액세스 제한 설정은 이 프로젝트로부터의 접근 제한으로 변경되었습니다.

Java 13, 14, 15 및 16용 종속성 스캐닝 지원

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 문제를 참조하십시오.

GitLab은 Java 13, 14, 15 및 16 버전에 대한 종속성 스캐닝 지원을 폐지하고, 이 지원을 예정된 GitLab 16.0 릴리스에서 제거할 계획입니다. 이는 오라클의 지원 정책과 일치하며, 이러한 버전에 대한 오라클 프리미어 및 확장 지원이 종료되었습니다. 또한, GitLab은 앞으로 LTS(장기 지원) 버전을 중점으로 한 Java 지원에 집중할 수 있도록 합니다.

updated_atupdated_at를 함께 사용하지 않을 때 배포 API에서 오류 반환

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 문제를 참조하십시오.

이제 배포 API는 updated_at 필터링과 updated_at 정렬을 함께 사용하지 않을 때 오류를 반환합니다. 일부 사용자는 updated_at로 “최신” 배포를 가져오기 위해 updated_at 정렬을 사용하지 않고 필터링을 사용했으며, 이는 잘못된 결과를 초래할 수 있습니다. 대신 함께 사용하거나, “최신 배포”를 일관된 방식으로 제공하는 finished_at로 필터링하고 finished_at로 정렬하는 것이 좋습니다.

레거시 Gitaly 구성 방법 폐지

  • GitLab 14.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 문제를 참조하십시오.

Gitaly를 구성하기 위해 환경 변수 GIT_CONFIG_SYSTEMGIT_CONFIG_GLOBAL 사용은 폐지되었습니다. 이러한 변수는 표준적인 config.toml Gitaly 구성으로 대체됩니다.

Gitaly를 구성하기 위해 GIT_CONFIG_SYSTEMGIT_CONFIG_GLOBAL를 사용하는 GitLab 인스턴스는 대신 config.toml을 사용하도록 전환해야 합니다.

폐지된 Consul http 메트릭

  • GitLab 15.10에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 문제를 참조하십시오.

GitLab Omnibus 패키지에서 제공되는 Consul은 GitLab 16.0부터 오래된 폐지된 Consul 메트릭을 더 이상 제공하지 않을 것입니다.

GitLab 14.0에서는 Consul이 1.9.6로 업데이트되었으며, consul.http 경로에서 일부 텔레메트리 메트릭이 폐지되었습니다. GitLab 16.0에서 consul.http 경로가 제거될 것입니다.

Consul 메트릭을 사용하는 모니터링이 있는 경우, consul.http 대신 consul.api.http를 사용하도록 업데이트하십시오. 자세한 정보는 Consul 1.9.0의 폐기 메모를 참조하십시오.

CI_PRE_CLONE_SCRIPT 변수의 사용 중단 및 GitLab SaaS에서의 계획된 제거

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 해당 변경 사항을 논의하거나 자세한 내용을 알아보려면 사용 중단 이슈를 참조하세요.

GitLab SaaS Runners에서 지원하는 CI_PRE_CLONE_SCRIPT 변수는 GitLab 15.9부터 사용이 중단되었으며 16.0에서 제거될 예정입니다. CI_PRE_CLONE_SCRIPT 변수를 사용하면 CI/CD 작업에서 러너가 Git init을 실행하고 가져오기 전에 명령을 실행할 수 있습니다. 이 기능이 작동하는 방법에 대한 자세한 내용은 사전 클론 스크립트를 참조하세요. 대안으로 pre_get_sources_script를 사용할 수 있습니다.

</div>

그룹으로 프로젝트 가져오기 기능을 제공하는 개발자 역할

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 해당 변경 사항을 논의하거나 자세한 내용을 알아보려면 사용 중단 이슈를 참조하세요.

그룹의 개발자 역할을 15.8에서 사용 중단되었으며 16.0에서 제거될 예정입니다. GitLab 16.0부터는 그룹에 프로젝트를 가져올 수 있는 권한이 있는 사용자는 적어도 유지자 역할을 가진 사용자만 가능합니다.

PHP 및 Python용 개발 종속성 보고

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 해당 변경 사항을 논의하거나 자세한 내용을 알아보려면 사용 중단 이슈를 참조하세요.

GitLab 16.0에서 GitLab Dependency Scanning 분석기는 Python/pipenv 및 PHP/composer 프로젝트의 개발 종속성을 보고하기 시작합니다. 이러한 개발 종속성을 보고하지 않으려는 사용자는 CI/CD 파일에서 DS_INCLUDE_DEV_DEPENDENCIES: false를 설정해야 합니다.

마크다운에서의 Grafana 패널 임베드 기능 사용 중단

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 해당 변경 사항을 논의하거나 자세한 내용을 알아보려면 사용 중단 이슈를 참조하세요.

GitLab Flavored Markdown에서 Grafana 패널을 추가하는 기능이 15.9에서 사용 중단되며 16.0에서 제거될 예정입니다. 이 기능은 GitLab Observability UI에서 차트를 임베드하는 기능으로 대체할 예정입니다.

CI/CD 매개변수 문자 길이의 강제 유효성 검사

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 해당 변경 사항을 논의하거나 자세한 내용을 알아보려면 사용 중단 이슈를 참조하세요.

CI/CD 작업 이름은 엄격한 255자 제한이 있는 반면, 다른 CI/CD 매개변수에는 아직 제한이 없어서 255자 이내로 유지되도록 하는 유효성 확인이 추가될 예정입니다.

GitLab 16.0에서 다음도 255자로 엄격하게 제한하는 유효성을 추가할 예정입니다: - stage 키워드 - 파이프라인의 Git 브랜치나 태그 이름인 ref - 외부 CI/CD 통합에서 사용되는 descriptiontarget_url 매개변수

자체 운영 인스턴스를 사용하는 사용자는 데이터베이스에서 이미 제한되어 있기 때문에 255자를 초과하는 매개변수가 없도록 파이프라인을 업데이트해야 합니다. GitLab.com 사용자는 변경사항을 할 필요가 없습니다.

환경 검색 쿼리는 적어도 세 글자가 필요합니다

GitLab 16.0부터 API로 환경을 검색할 때 적어도 세 글자를 사용해야 합니다. 이 변경 사항은 검색 작업의 확장성을 보장하는 데 도움이 됩니다.

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)

GraphQL API에서 ReleaseAssetLink 유형external 필드는 릴리스 링크가 내부적인지 외부적인지를 나타내는 데 사용되었습니다. GitLab 15.9부터 모든 릴리스 링크를 외부적으로 처리하고, 따라서 이 필드는 GitLab 15.9에서 사용이 중단되며 GitLab 16.0에서 제거될 예정입니다. 작업 흐름에 어떤 중단도 발생하지 않도록 하려면 external 필드의 사용을 중지하십시오. 이 필드는 제거되고 대체되지 않을 것입니다.

릴리스 및 릴리스 링크 API의 외부 필드

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)

릴리스 API릴리스 링크 API에서 external 필드는 릴리스 링크가 내부적인지 외부적인지를 나타내는 데 사용되었습니다. GitLab 15.9부터 모든 릴리스 링크를 외부적으로 처리하고, 따라서 이 필드는 GitLab 15.9에서 사용이 중단되며 GitLab 16.0에서 제거될 예정입니다. 작업 흐름에 어떤 중단도 발생하지 않도록 하려면 external 필드의 사용을 중지하십시오. 이 필드는 제거되고 대체되지 않을 것입니다.

Geo: 프로젝트 저장소 재다운로드가 폐지 예정

  • GitLab 15.11에서 발표됨
  • GitLab 16.0에서 제거됨
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 제거 예정 사항 이슈를 참조하세요.

보조 Geo 사이트에서 프로젝트 저장소를 “재다운로드”하는 버튼은 폐지됩니다. 재다운로드 논리에는 만날 때 해결하기 어려운 데이터 일관성 문제가 있습니다. 이 버튼은 GitLab 16.0에서 제거될 것입니다.

GitLab 관리자는 보호된 브랜치나 태그를 수정할 권한이 있어야 합니다

GitLab 관리자는 보호된 브랜치나 태그에 대한 푸시 및 병합, 브랜치 보호 해제, 보호된 태그 생성과 같은 작업을 명시적으로 허용받지 않으면 수행할 수 없습니다.

GitLab 자가 모니터링 프로젝트

  • GitLab 14.9에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 deprecated issue를 참조하세요.

GitLab 자가 모니터링은 자체 호스팅된 GitLab 인스턴스의 상태를 모니터링할 수 있는 도구를 제공합니다. 이 기능은 GitLab 14.9에서 사용 중단되었으며 16.0에서 제거 예정입니다.

</div>

GitLab.com 가져오기 도구

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거 예정
  • 이 변경 사항을 논의하거나 자세히 알아보려면 deprecated issue를 참조하세요.

GitLab.com importer는 GitLab 15.8에서 사용 중단되며 GitLab 16.0에서 제거될 예정입니다.

GitLab.com 가져오기 도구는 2015년 GitLab.com에서 프로젝트를 자체 관리형 GitLab 인스턴스로 가져오기 위해 도입되었습니다. 이 기능은 자체 관리형 인스턴스에서만 사용할 수 있습니다. 직접 이관을 통한 GitLab 그룹 및 프로젝트 이관은 GitLab.com 가져오기 도구를 대체하며 더 일관된 가져오기 기능을 제공합니다.

migrated group itemsmigrated project items를 참조하여 개요를 확인하세요.

GraphQL API 실행자 상태는 paused를 반환하지 않을 것

  • GitLab 14.5에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 deprecated issue를 참조하세요.

GitLab Runner GraphQL API 엔드포인트는 GitLab 16.0에서 pausedactive를 상태로 반환하지 않을 것입니다. REST API의 향후 v5에서도 GitLab Runner에 대한 엔드포인트는 pausedactive을 반환하지 않을 것입니다.

실행자의 상태는 더 이상 paused 또는 active와 관련이 없으며, online, offline, 또는 not_connected와 같은 실행자 연락처 상태와만 관련이 있을 것입니다. paused 여부를 확인할 때 API 사용자는 paused 속성이 true인지 확인하는 것이 좋습니다. active 여부를 확인할 때는 pausedfalse인지 확인하세요.

GraphQL 필드 confidential가 노트의 internal로 변경됨

  • GitLab 15.5에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 deprecated issue를 참조하세요.

Noteconfidential 필드가 사용 중단되고 internal로 이름이 변경될 것입니다.

Jira Cloud용 Jira DVCS 커넥터

  • GitLab 15.1에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경에 대해 논의하거나 자세히 알아보려면 중단 사항 문제를 참조하세요.

Jira Cloud용 Jira DVCS 커넥터가 폐지되었으며 GitLab 16.0에서 제거될 예정입니다. Jira Cloud에서 Jira DVCS 커넥터를 사용 중이라면 GitLab for Jira Cloud 앱으로 마이그레이션하세요.

또한 Jira 8.13 및 이전 버전에서는 Jira DVCS 커넥터가 폐지되었습니다. Jira 8.14 이후부터는 Jira Server 또는 Jira Data Center에서만 Jira DVCS 커넥터를 사용할 수 있습니다.

GitLab Helm 차트의 KAS Metrics 포트

  • GitLab 15.7에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경에 대해 논의하거나 자세히 알아보려면 중단 사항 문제를 참조하세요.

gitlab.kas.metrics.portGitLab Helm 차트에서 새로운 gitlab.kas.observability.port 구성 필드를 선호하도록 폐지되었습니다. 이 포트는 메트릭뿐만 아니라 많은 다른 용도로 사용되므로 구성에서의 혼란을 피하기 위해 이번 변경이 이루어졌습니다.

기존 Gitaly 구성 방법

  • GitLab 15.10에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경에 대해 논의하거나 자세히 알아보려면 중단 사항 문제를 참조하세요.

Omnibus GitLab 내에서의 Gitaly 구성이 표준 Gitaly 구성과 일치하는 단일 구성 구조로 업데이트되어 이전 구성 구조가 폐지되었습니다.

단일 구성 구조는 GitLab 15.10부터 사용 가능하지만 하위 호환성은 유지됩니다. 제거된 후에는 Gitaly를 단일 구성 구조를 사용하여 구성해야 합니다. 최대한 빨리 Gitaly 구성을 업데이트해야 합니다.

이 변경으로 Omnibus GitLab과 소스 설치 간의 일관성이 향상되었으며 더 나은 문서 및 도구를 제공할 수 있도록 합니다.

가능한 한 빨리 업그레이드 지침을 사용하여 새 구성 구조로 업데이트해야 합니다.

기존 Praefect 구성 방법

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경에 대해 논의하거나 자세히 알아보려면 중단 사항 문제를 참조하세요.

이전에는 Praefect 구성 키가 구성 파일에 분산되어 있었습니다. 이제는 단일 Praefect 구성 구조에 해당하는 단일 구성 구조에 있는 것이므로 이전 구성 방법이 폐지되었습니다.

단일 구성 구조는 GitLab 15.9부터 사용 가능하지만 하위 호환성은 유지됩니다. 제거된 후에는 Praefect를 단일 구성 구조를 사용하여 구성해야 합니다. 가능한 한 빨리 업그레이드 지침을 사용하여 Praefect 구성을 업데이트해야 합니다.

이 변경으로 Omnibus GitLab 내의 Praefect 구성을 Praefect 구조의 구성 구조와 일치시켜 이전과 같이 계층 및 구성 키가 일치합니다. 이 변경으로 Omnibus GitLab과 소스 설치 간의 일관성이 향상되었으며 더 나은 문서 및 도구를 제공할 수 있도록 합니다.

레거시 URL 대체 또는 제거됨

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 제거 이슈를 참조하십시오.

GitLab 16.0에서는 GitLab 애플리케이션에서 레거시 URL을 제거합니다.

GitLab 9.0에서 하위 그룹이 도입되면 URL에 그룹 경로의 끝을 나타내는 /-/ 구분 기호가 추가되었습니다. 이제 모든 GitLab URL은 프로젝트, 그룹 및 인스턴스 수준 기능에 이 구분 기호를 사용합니다.

/-/ 구분 기호를 사용하지 않는 URL은 GitLab 16.0에서 제거될 예정입니다. 이러한 URL의 전체 목록 및 대체품은 이슈 28848를 참조하십시오.

레거시 URL을 참조하는 스크립트 또는 책갈피를 업데이트하십시오. GitLab API는 이 변경에 영향을받지 않습니다.

</div>

라이선스 확인 및 라이선스 준수 페이지의 정책 탭

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 제거 이슈를 참조하십시오.

라이선스 확인 기능은 이제 사용되지 않으며 GitLab 16.0에서 제거될 예정입니다. 또한 라이선스 준수 페이지의 정책 탭 및 라이선스 확인 기능과 관련된 모든 API가 사용되지 않게되며 GitLab 16.0에서 제거될 예정입니다. 감지된 라이선스를 기반으로 승인을 계속 적용하려는 사용자는 새로운 라이선스 승인 정책을 생성하는 것이 좋습니다.

개인 액세스 토큰 및 외부 인증으로 배포 토큰 액세스 제한

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 제거 이슈를 참조하십시오.

외부 인증이 활성화된 경우, 개인 액세스 토큰 (PAT) 및 배포 토큰은 더 이상 컨테이너 또는 패키지 레지스트리에 액세스할 수 없어야 합니다. 이 방어심층 보안 조치는 16.0에서 배포될 예정입니다. 이러한 토큰의 사용을 위해 PAT 및 배포 토큰을 사용하는 사용자들은 이 조치로 인해 해당 토큰의 사용이 중단됩니다. 컨테이너 또는 패키지 레지스트리에 토큰을 사용하려면 외부 인가를 비활성화하십시오.

GitLab Helm 차트의 주요 번들 업데이트

  • GitLab 15.10에서 발표됨
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 제거 이슈를 참조하십시오.

GitLab 16.0과 함께, GitLab Helm 차트는 7.0 주요 버전을 릴리스할 것입니다. 다음의 주요 번들된 차트 업데이트가 포함됩니다:

전체 GitLab Helm 차트 7.0 업그레이드 단계는 업그레이드 문서에서 확인할 수 있습니다.

관리형 라이선스 API

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거 예정 (파괴적 변화)
  • 이 변경 사항을 논의하거나 자세한 내용을 알아보려면 제거 예정 이슈를 참조하세요.

관리형 라이선스 API는 현재 폐기된 상태이며 GitLab 16.0에서 제거 예정입니다.

프로젝트 당 활성 파이프라인 수 제한 (ci_active_pipelines)

  • GitLab 15.3에서 발표됨
  • GitLab 16.0에서 제거 예정
  • 이 변경 사항을 논의하거나 자세한 내용을 알아보려면 제거 예정 이슈를 참조하세요.

프로젝트 당 활성 파이프라인 수의 최대 제한은 기본적으로 사용되지 않았고, GitLab 16.0에서 제거될 예정입니다. 이 제한은 또한 레일즈 콘솔에서 ci_active_pipelines로 구성할 수 있습니다. 대신, 유사한 보호를 제공하는 다른 권장 속도 제한을 사용하세요:

프로메테우스를 통한 성능 메트릭 모니터링

  • GitLab 14.7에서 발표됨
  • GitLab 16.0에서 제거 예정 (파괴적 변화)
  • 이 변경 사항을 논의하거나 자세한 내용을 알아보려면 제거 예정 이슈를 참조하세요.

Prometheus 인스턴스에 저장된 데이터를 표시함으로써 GitLab은 사용자가 성능 메트릭을 볼 수 있게 합니다. GitLab은 또한 대시보드에서 이러한 메트릭의 시각화를 표시합니다. 사용자는 이전에 구성한 외부 프로메테우스 인스턴스에 연결하거나 GitLab 관리 앱으로 프로메테우스를 설정할 수 있습니다. 그러나 GitLab에서 쿠버네티스 클러스터와의 인증서 기반 통합이 폐기된 바, 프로메테우스에 의존하는 GitLab의 메트릭 기능 또한 폐기되었습니다. 이에는 대시보드에서의 메트릭 시각화도 포함됩니다. GitLab은 Opstrace에 기반한 단일 사용자 경험을 개발 중입니다. Opstrace 통합 작업을 팔로우할 수 있는 이슈가 존재합니다.

만료되지 않는 엑세스 토큰

  • GitLab 15.4에서 발표됨
  • GitLab 16.0에서 제거 예정 (파괴적 변화)
  • 이 변경 사항을 논의하거나 자세한 내용을 알아보려면 제거 예정 이슈를 참조하세요.

만료 날짜가 없는 엑세스 토큰은 영구적으로 유효하며, 엑세스 토큰이 노출될 경우 보안 위험이 발생합니다. GitLab 15.3부터는 엑세스 토큰에 기본 만료 날짜를 추가하였습니다.

GitLab 16.0에서는 만료 날짜가 없는 개인, 프로젝트, 또는 그룹 엑세스 토큰은 자동으로 1년의 만료 날짜가 설정됩니다.

기본이 적용되기 전에 회사의 보안 정책에 따라 엑세스 토큰에 만료 날짜를 지정하는 것을 권장합니다:

  • 16.0 마일스톤에서 GitLab.com에서
  • 자체 관리형 GitLab 인스턴스가 16.0으로 업그레이드될 때

비표준 기본 Redis 포트는 폐기 예정

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 삭제 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

만약 GitLab이 Redis 구성 파일이 없는 상태에서 시작하면, GitLab은 localhost:6380, localhost:6381, localhost:6382에서 세 개의 Redis 서버에 연결할 수 있다고 가정합니다. 이 동작을 변경하여 GitLab은 localhost:6379에 Redis 서버가 하나 있다고 가정합니다.

세 개의 서버를 유지하려는 관리자는 config/redis.cache.yml, config/redis.queues.yml, config/redis.shared_state.yml 파일을 편집하여 Redis URL을 구성해야 합니다.

즉시 프로젝트 삭제 옵션이 삭제됨

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 삭제 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

관리 영역의 그룹 및 프로젝트 삭제 보호 설정에는 즉시 그룹 및 프로젝트 삭제 옵션이 있었습니다. 16.0부터 이 옵션이 더 이상 사용되지 않고, 지연된 그룹 및 프로젝트 삭제가 기본 동작으로 변경될 것입니다.

이 옵션은 더 이상 그룹 설정으로 나타나지 않을 것입니다. Self-managed 사용자는 삭제 지연 기간을 정의하는 옵션을 그대로 가지고 있으며, SaaS 사용자는 조정할 수 없는 기본 보유 기간인 7일간의 보유 기간을 가지고 있습니다. 사용자는 여전히 프로젝트 설정에서 프로젝트를 즉시 삭제하거나, 그룹 설정에서 그룹을 삭제할 수 있습니다.

기본적으로 그룹 및 프로젝트를 즉시 삭제하는 옵션이 폐기되었으며, 사용자가 실수로 이 작업을 수행하여 그룹 및 프로젝트를 영구적으로 손실하는 것을 방지하기 위한 조치입니다.

PipelineSecurityReportFinding 이름 GraphQL 필드

  • GitLab 15.1에서 발표됨
  • GitLab 16.0에서 삭제 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

이전에 PipelineSecurityReportFinding GraphQL 유형이 업데이트되어 새로운 title 필드가 추가되었습니다. 이 필드는 현재의 name 필드에 대한 별칭으로, 덜 구체적인 name 필드가 중복되었기 때문에 name 필드가 GitLab 16.0에서 PipelineSecurityReportFinding 유형에서 제거될 것입니다.

PostgreSQL 12 폐기 예정

  • GitLab 15.0에서 발표됨
  • GitLab 16.0에서 삭제 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

PostgreSQL 12 지원은 GitLab 16.0에서 제거될 예정입니다. GitLab 16.0에서는 PostgreSQL 13이 최소 필요한 PostgreSQL 버전이 될 것입니다.

PostgreSQL 12는 전체 GitLab 15 릴리스 주기 동안 지원될 것입니다. PostgreSQL 13도 GitLab 16.0 이전에 업그레이드하려는 인스턴스에서 지원될 것입니다.

PostgreSQL 13 지원은 GitLab 15.2에서 Geo에 추가되었습니다.

복제 레포지토리 가져오기용 Rake 작업

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거됨
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 사안을 참조하세요.

복제 레포지토리 가져오기용 Rake 작업(gitlab:import:repos)은 GitLab 15.8에서 사용이 중단되었으며 GitLab 16.0에서 제거될 예정입니다.

이 Rake 작업은 디렉터리 트리의 레포지토리를 GitLab 인스턴스로 가져옵니다. 이러한 레포지토리들은 이전에 GitLab에서 관리되었어야 합니다. 왜냐하면 Rake 작업은 작업을 수행하기 위해 특정 디렉터리 구조나 특정 사용자 정의 Git 설정인 gitlab.fullpath에 의존하기 때문입니다.

이 Rake 작업을 사용하여 레포지토리를 가져오는 것에는 제한 사항이 있습니다. 이 Rake 작업은 다음과 같은 제한 사항이 있습니다.

  • 프로젝트와 프로젝트 위키 레포지토리에 대해서만 알고 있으며, 디자인, 그룹 위키 또는 스니펫 레포지토리를 지원하지 않습니다.
  • 해시되지 않은 스토리지 프로젝트를 가져오도록 허용하지만 공식 지원되지 않습니다.
  • Git 설정 gitlab.fullpath가 설정되어 있음을 전제로 합니다. Epic 8953에서 이 설정에 대한 지원이 제거되도록 제안됨.

gitlab:import:repos Rake 작업을 사용하지 않는 다른 대안으로는 다음이 있습니다.

Redis 5 중단

  • GitLab 15.3에서 발표됨
  • GitLab 15.6에서 지원 종료
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 사안을 참조하세요.

GitLab 13.9에서 Omnibus GitLab 패키지 및 GitLab Helm 차트 4.9에서 Redis 버전이 Redis 6으로 업데이트되었습니다. Redis 5는 2022년 4월에 지원 종료되며 GitLab 15.6부터 더 이상 지원되지 않을 것입니다. Redis 5.0 인스턴스를 사용 중이라면 GitLab 16.0 이상으로 업그레이드하기 전에 Redis 6.0 이상으로 업그레이드해야 합니다.

POST /jobs/request 러너 엔드포인트에서 job_age 매개변수 제거

  • GitLab 15.2에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 사안을 참조하세요.

GitLab 러너와 통신에 사용하는 POST /jobs/request API 엔드포인트에서 반환되는 job_age 매개변수는 GitLab 또는 러너 기능 중에 사용된 적이 없습니다. 이 매개변수는 GitLab 16.0에서 제거될 예정입니다.

이 변경 사항은 이 엔드포인트가 반환하는 이 매개변수를 의존하는 사용자가 개발한 러너에 대해 중단 변경 사항일 수 있습니다. GitLab Runner의 공식 릴리스 버전, GitLab.com 상의 공유 러너를 포함한 공식 릴리스 버전을 사용하는 사용자에게는 중단 변경 사항이 아닙니다.

GitLab 16.0에서 SAST 분석기 범위 변경

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거됨 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 사안을 참조하세요.

GitLab SAST는 코드 취약점을 스캔하기 위해 다양한 분석기를 사용합니다.

GitLab SAST CI/CD 템플릿에서는 GitLab 16.0부터 .NET용 Security Code Scan 기반 분석기를 더 이상 사용하지 않을 예정이며 지원 종료 상태가 될 것입니다. 대신 Semgrep 기반 분석기를 사용하는 GitLab에서 제공되는 감지 규칙으로 대체됩니다.

이 분석기는 즉시 보안 업데이트만 받습니다. 더 이상의 예외나 루틴적인 개선 사항은 보장되지 않습니다. 이 분석기가 GitLab 16.0에서 지원 종료 상태에 도달한 후에는 더 이상의 업데이트가 제공되지 않을 것입니다. 그러나 이전에 이 분석기로 발견된 취약점을 무시한 경우에는 컨테이너 이미지대로 제공되지 않거나 사용자 정의 CI/CD 파이프라인 작업을 통해 실행할 수 있는 능력을 제거하지 않을 것입니다.

이 변경 사항을 보완하기 위해 다음이 변경되지 않습니다.

  1. PHPCS Security Audit 기반 분석기 지원을 제거하고 Semgrep 기반 분석기에 GitLab 관리 감지 규칙을 대체하는 것
  2. Scala를 SpotBugs 기반 분석기의 범위에서 제거하고 Semgrep 기반 분석기에 GitLab 관리 감지 규칙을 대체하는 것

PHPCS Security Audit 기반 분석기를 대체하는 작업은 이슈 364060에서 추적되고 있으며, Scala 스캔을 Semgrep 기반 분석기로 이관하는 작업은 이슈 362958에서 추적되고 있습니다.

Secure analyzers major version update

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 중단 문제를 참조하세요.

보안 단계에서는 GitLab 16.0 릴리스와 함께 분석기의 주요 버전을 업데이트할 것입니다. 이 업데이트는 다음과 같은 분석기 간의 명확한 구분을 가능하게 할 것입니다.

  • 2023년 5월 22일 이전에 릴리스된 분석기
  • 2023년 5월 22일 이후에 릴리스된 분석기

기본 제공되는 템플릿을 사용하지 않거나 분석기 버전을 고정시켰다면 CI/CD 작업 정의를 업데이트하여 고정된 버전을 제거하거나 최신 주요 버전으로 업데이트해야 합니다. GitLab 13.0-15.10 사용자는 GitLab 16.0 릴리스 이전까지는 분석기 업데이트를 계속하여 경험하게 될 것이며, 그 후에는 새로운 주요 버전의 분석기에서만 새로 수정된 버그와 릴리스된 기능이 릴리스될 것입니다. 저희는 유지 보수 정책에 따라 버그 및 기능을 폐기된 버전으로 되감을하지 않습니다. 필요한 경우, 보안 패치는 최신의 3개의 마이너 릴리스 내에서 되감될 것입니다. 구체적으로 다음과 같은 항목들이 폐기되며 16.0 GitLab 릴리스 이후에는 더 이상 업데이트되지 않을 것입니다:

  • API 퍼징: 버전 2
  • 컨테이너 스캐닝: 버전 5
  • 커버리지 가이드 퍼징: 버전 3
  • 의존성 스캐닝: 버전 3
  • 동적 애플리케이션 보안 테스트 (DAST): 버전 3
  • DAST API: 버전 2
  • IaC 스캐닝: 버전 3
  • 라이선스 스캐닝: 버전 4
  • 비밀 감지: 버전 4
  • 정적 애플리케이션 보안 테스트 (SAST): 모든 분석기의 버전 3
    • brakeman: 버전 3
    • flawfinder: 버전 3
    • kubesec: 버전 3
    • mobsf: 버전 3
    • nodejs-scan: 버전 3
    • phpcs-security-audit: 버전 3
    • pmd-apex: 버전 3
    • security-code-scan: 버전 3
    • semgrep: 버전 3
    • sobelow: 버전 3
    • spotbugs: 버전 3

새로운 작업 rules를 사용하는 보안 스캔 CI/CD 템플릿

  • GitLab 15.9에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 중단 문제를 참조하세요.

보안 스캔을 위한 GitLab 관리형 CI/CD 템플릿은 GitLab 16.0 릴리스에서 업데이트될 것입니다. 업데이트는 이미 최신 버전 CI/CD 템플릿에서 릴리스된 개선 사항을 포함할 것입니다. 우리는 이미 최신 템플릿 버전에서 이러한 변경 사항을 릴리스했는데, 이는 사용자 정의된 CI/CD 파이프라인 구성을 방해할 가능성이 있기 때문입니다.

모든 업데이트된 템플릿에서 우리는 SAST_DISABLEDDEPENDENCY_SCANNING_DISABLED와 같은 변수의 정의를 변경하여 값이 "true"인 경우에만 스캔을 비활성화하도록 업데이트합니다. 이전에는 값이 "false"라도 스캔이 비활성화되었습니다.

다음 템플릿이 업데이트될 것입니다:

위에 나열된 템플릿 중 하나를 사용하고 _DISABLED 변수를 사용하지만 "true" 이외의 값으로 설정한 경우, 16.0 릴리스 이전에 파이프라인을 테스트해 보시기를 권장합니다.

업데이트: 이전에 영향을 받는 템플릿의 rules병합 요청 파이프라인에서 실행되도록 기본값으로 변경할 것을 발표했었습니다. 그러나 중단 문제에서 논의된 호환성 문제로 인해 GitLab 16.0에서 이러한 변경을 더는 하지 않을 것입니다. 그러나 앞서 설명한대로 _DISABLED 변수에 대한 변경 사항은 여전히 릴리스될 것입니다.

보안 보고서 스키마 버전 14.x.x

  • GitLab에서 발표된 15.3
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안을 참조하세요.

버전 14.x.x 보안 보고서 스키마는 더 이상 사용되지 않습니다.

GitLab 15.8 이상에서 14.x.x 버전의 스키마를 사용하는 보안 보고서 스캐너 통합은 파이프라인의 보안 탭에 폐기 경고를 표시합니다.

GitLab 16.0 이상에서 해당 기능은 제거됩니다. 14.x.x 버전의 스키마를 사용하는 보안 보고서는 파이프라인의 보안 탭에서 오류를 발생시킵니다.

더 많은 정보는 보안 보고서 유효성 검사를 참조하십시오.

GitLab 에이전트 for Kubernetes의 구성에서 Starboard 지시문 지원 중단

  • GitLab에서 발표된 15.4
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안을 참조하세요.

GitLab의 운영용 컨테이너 스캔 기능은 더 이상 starboard의 설치를 필요로하지 않습니다. 따라서 GitLab 에이전트 for Kubernetes의 구성 파일에서 starboard: 지시문을 사용하는 것은 이제 폐기되었으며, GitLab 16.0에서 제거될 예정입니다. 구성 파일을 업데이트하여 container_scanning: 지시문을 사용하도록 하십시오.

Windows Server 2004 및 20H2 기반의 GitLab Runner 이미지 게시 중단

  • GitLab에서 발표된 16.0
  • GitLab 16.0에서 제거됨
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안을 참조하세요.

GitLab 16.0부터 Windows Server 2004 및 20H2 기반의 GitLab Runner 이미지는 제공되지 않을 것입니다. 이러한 운영 체제는 지원 종료될 예정이기 때문입니다.

Praefect 사용자 정의 메트릭 엔드포인트 구성 지원

  • GitLab에서 발표된 15.9
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안을 참조하세요.

prometheus_exclude_database_from_default_metrics 구성 값을 사용하는 것은 GitLab 15.9에서 폐기되었으며, GitLab 16.0에서 제거될 것입니다. 이 구성 값을 사용하는 것은 성능이 나빠지기 때문에 해당 변경 사항이 이루어집니다. 이 변경 사항으로 인해 다음 메트릭은 /metrics에서 사용할 수 없게 됩니다:

  • gitaly_praefect_unavailable_repositories.
  • gitaly_praefect_verification_queue_depth.
  • gitaly_praefect_replication_queue_depth.

이로 인해 메트릭 수집 대상을 업데이트하여 /db_metrics도 스크래핑할 수 있도록 조치해야 할 수 있습니다.

Terraform 상태 이름에 있는 점(.) 지원이 변경되어 기존 상태를 중단시킬 수 있습니다.

  • GitLab에서 발표된 15.7
  • GitLab 16.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 사안을 참조하세요.

이전에는 점이 포함된 Terraform 상태 이름은 지원되지 않았습니다. 그러나 여전히 우회 방법을 사용하여 상태 이름에 점을 사용할 수 있었습니다.

GitLab 15.7에서는 점을 포함하는 상태 이름에 대한 완전한 지원을 추가했습니다. 이전에 이러한 상태 이름을 처리하기 위해 우회 방법을 사용했다면, 작업이 실패할 수 있거나 처음으로 Terraform을 실행한 것처럼 보일 수 있습니다.

이 문제를 해결하려면:

  1. 마침표와 그 뒤의 문자를 제외한 상태 파일에 대한 모든 참조를 변경합니다.
    • 예: 상태 이름이 state.name인 경우 모든 참조를 state로 변경합니다.
  2. Terraform 명령을 실행합니다.

마침표를 포함한 전체 상태 이름을 사용하려면, GitLab에서 관리하는 Terraform 상태로 마이그레이션하십시오.

API는 이제 Kubernetes 에이전트의 취소된 토큰을 반환하지 않습니다

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 deprecation issue를 참조하세요.

현재, 클러스터 에이전트 API에 대한 GET 요청 엔드포인트는 취소된 토큰을 반환할 수 있습니다. GitLab 16.0에서 GET 요청은 취소된 토큰을 반환하지 않습니다.

이러한 엔드포인트에 대한 호출을 검토하고 취소된 토큰을 사용하지 않도록 확인해야 합니다.

이 변경 사항은 다음과 같은 REST 및 GraphQL API 엔드포인트에 영향을 미칩니다:

Phabricator 작업 가져오기기능이 deprecated 되었습니다

  • GitLab 15.7에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 deprecation issue를 참조하세요.

Phabricator 작업 가져오기기능이 deprecated 되고 있습니다. 프로젝트 자체가 2021년 6월 1일 이후로 더 이상 활발히 유지보수되지 않고 있습니다. 이 도구를 사용하여 가져오기가 발생한 사례를 관측하지 못했습니다. GitLab에서 연관된 이슈에 대한 활동이 없었습니다.

최신 Terraform 템플릿은 현재 안정적인 템플릿을 덮어씁니다

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 deprecation issue를 참조하세요.

매우 주요한 GitLab 버전마다, 최신 Terraform 템플릿으로 안정적인 템플릿을 업데이트합니다. 이 변경 사항은 퀵스타트기본 템플릿에 영향을 미칩니다.

새로운 템플릿에는 기본 규칙이 함께 제공되므로 업데이트가 Terraform 파이프라인을 중단시킬 수 있습니다. 예를 들어, Terraform 작업이 다운스트림 파이프라인으로 트리거된 경우, 규칙으로 인해 GitLab 16.0에서 작업이 트리거되지 않을 수 있습니다.

변경 사항을 반영하기 위해 .gitlab-ci.yml 파일에서 rules을 조정해야 할 수 있습니다.

병합 요청에서 /draft 퀵 액션의 토글 동작

  • GitLab 15.4에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 논의하거나 자세히 알아보려면 deprecation issue를 참조하세요.

병합 요청의 드래프트 상태를 토글하는 동작을 더 명확하게 하기 위해 /draft 퀵 액션의 토글 동작을 deprecated하고 제거합니다. GitLab 16.0 릴리스부터, /draft는 병합 요청을 드래프트 상태로 설정하고 새 /ready 퀵 액션을 사용하여 드래프트 상태를 제거합니다.

API에서 메모 기밀 여부 토글

  • GitLab 14.10에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 문제를 참조하세요.

REST 및 GraphQL API를 사용하여 메모 기밀 여부를 변경하는 기능이 폐기됩니다. 이제 메모 기밀 속성을 업데이트하는 것은 더 이상 지원되지 않습니다. 이 변경으로 사용자 경험을 간소화하고 무의도하게 개인 정보가 노출되는 것을 방지합니다.

vulnerabilityFindingDismiss 뮤테이션에서 id 필드 사용

  • GitLab 15.3에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 문제를 참조하세요.

vulnerabilityFindingDismiss GraphQL 뮤테이션을 사용하여 취약점 검색의 상태를 ‘Dismissed’로 설정할 수 있습니다. 이전에는 이 뮤테이션이 고유하게 식별하는 데 id 필드를 사용했습니다. 그러나 이는 파이프라인 보안 탭에서 결과를 해지하는 데 사용할 수 없었습니다. 따라서 식별자로서의 id 필드 사용이 중단되고 uuid 필드가 대신 사용됩니다. ‘uuid’ 필드를 식별자로 사용하면 파이프라인 보안 탭에서 결과를 해지할 수 있습니다.

서드 파티 컨테이너 레지스트리 사용이 폐기됨

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 문제를 참조하세요.

GitLab에서 외부 레지스트리를 인증 엔드포인트로 사용하는 것은 GitLab 15.8에서 폐기되었으며 지원 종료일이 GitLab 16.0에 예정되어 있습니다. 이는 자체 호스팅된 고객이 외부 레지스트리를 GitLab 사용자 인터페이스에 연결하여 컨테이너 이미지를 찾고 보고 삭제하는 데 영향을 줍니다.

GitLab의 컨테이너 레지스트리와 서드 파티 컨테이너 레지스트리를 모두 지원하는 것은 유지 보수, 코드 품질 및 하위 호환성에 대한 어려움을 야기합니다. 이는 우리가 효율적으로 유지할 수 있는 능력을 방해합니다. 결과적으로, 앞으로 이러한 기능을 지원하지 않게 됩니다.

이 변경으로 외부 레지스트리를 통해 컨테이너 이미지를 가져오고 푸시하는 기능에는 영향이 없습니다.

우리는 GitLab.com을 위한 새로운 GitLab 컨테이너 레지스트리 버전을 출시한 이후, 서드 파티 컨테이너 레지스트리에서 사용할 수 없었던 추가 기능들을 구현하기 시작했습니다. 이러한 새로운 기능들은 정리 정책과 같은 중요한 성능 향상을 가능하게 했습니다. 우리는 새로운 기능들을 제공하고 있는 데 중점을 두고 있습니다만, 대부분의 이러한 기능은 GitLab 컨테이너 레지스트리에서만 가능합니다. 이 폐기로 인해 향후에는 단일 통합 레지스트리 경험과 기능 세트 제공에 중점을 두어 장기적으로 단편화와 사용자의 답답함을 줄일 수 있도록 할 예정입니다.

앞으로는 GitLab 컨테이너 레지스트리에서만 사용할 수 있는 새로운 기능들을 개발 및 출시하는 데 계속 투자할 것입니다.

경로의 끝에 글로벌 ID를 사용한 작업 항목 경로가 폐기됨

  • GitLab 15.10에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 문제를 참조하세요.

작업 항목 URL에서의 글로벌 ID 사용이 폐기됩니다. 앞으로는 내부 ID (IID)만 지원될 것입니다.

GitLab은 여러 작업 항목 유형을 지원하기 때문에, https://gitlab.com/gitlab-org/gitlab/-/work_items/<global_id>와 같은 경로는 예를 들어 태스크OKR을 표시할 수 있습니다.

GitLab 15.10에서 우리는 이러한 경로에서 내부 ID (IID)를 사용할 수 있도록 지원을 추가했습니다. 쿼리 파라미터를 끝에 추가하는 방식으로, 다음 형식으로 지원될 것입니다: https://gitlab.com/gitlab-org/gitlab/-/work_items/<iid>?iid_path=true.

GitLab 16.0에서는 작업 항목 경로에 글로벌 ID를 사용하는 기능이 제거될 것입니다. 경로 끝의 숫자는 쿼리 파라미터를 추가하지 않고도 내부 ID (IID)로 간주될 것입니다. 다음 형식만 지원될 것입니다: https://gitlab.com/gitlab-org/gitlab/-/work_items/<iid>.

ZenTao 통합

  • GitLab 15.7에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐기 사안을 참조하세요.

GitLab ZenTao 제품 통합이 폐기되었으며 JiHu GitLab 코드베이스로 이동될 예정입니다.

CI_BUILD_* 사전 정의된 변수

  • GitLab 14.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐기 사안을 참조하세요.

CI_BUILD_*로 시작하는 미리 정의된 CI/CD 변수는 GitLab 9.0에서 폐기되었으며 GitLab 16.0에서 제거될 예정입니다. 이러한 변수를 아직 사용 중이라면 기능적으로 동일한 미리 정의된 변수로 변경해야 합니다:

제거된 변수 대체 변수
CI_BUILD_BEFORE_SHA CI_COMMIT_BEFORE_SHA
CI_BUILD_ID CI_JOB_ID
CI_BUILD_MANUAL CI_JOB_MANUAL
CI_BUILD_NAME CI_JOB_NAME
CI_BUILD_REF CI_COMMIT_SHA
CI_BUILD_REF_NAME CI_COMMIT_REF_NAME
CI_BUILD_REF_SLUG CI_COMMIT_REF_SLUG
CI_BUILD_REPO CI_REPOSITORY_URL
CI_BUILD_STAGE CI_JOB_STAGE
CI_BUILD_TAG CI_COMMIT_TAG
CI_BUILD_TOKEN CI_JOB_TOKEN
CI_BUILD_TRIGGERED CI_PIPELINE_TRIGGERED

POST ci/lint API 엔드포인트 폐기 예정

  • GitLab 15.7에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐기 사안을 참조하세요.

POST ci/lint API 엔드포인트는 15.7에서 폐기 예정이며 16.0에서 제거될 예정입니다. 이 엔드포인트는 CI/CD 구성 옵션의 전체 범위를 유효성 검사하지 않습니다. 대신, 올바르게 CI/CD 구성을 유효성 검사하는 POST /projects/:id/ci/lint를 사용하세요.

DORA API의 environment_tier 매개변수

  • GitLab 15.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐기 사안을 참조하세요.

혼동과 중복을 피하기 위해 environment_tier 매개변수는 environment_tiers 매개변수로 대체됩니다. 새로운 environment_tiers 매개변수는 DORA API가 동시에 여러 티어에 대한 집계 데이터를 반환할 수 있게 합니다. environment_tier 매개변수는 GitLab 16.0에서 제거될 예정입니다.

started 반복 상태

  • GitLab 14.8에서 발표됨
  • GitLab 16.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐기 사안을 참조하세요.

started 반복 상태는 iteration GraphQL APIiteration REST API에서 폐기되었습니다.

GraphQL API 버전은 GitLab 16.0에서 제거될 예정입니다. 이 상태는 다른 시간 기반 엔터티(예: 마일스톤)의 명명과 일치하는 current 상태(이미 사용 가능)로 대체되고 있습니다.

다음 v5 REST API 버전까지는 REST API 버전에서 started 상태를 계속 지원할 계획입니다.

vulnerabilityFindingDismiss GraphQL mutation

VulnerabilityFindingDismiss GraphQL 뮤테이션이 폐기되고 GitLab 16.0에서 제거될 예정입니다. 이 뮤테이션은 취약점 발견 ID가 사용자에게 사용할 수 없었기 때문에 자주 사용되지 않았습니다 (이 필드는 15.3에서 폐기되었습니다). 대신 사용자들은 VulnerabilityDismiss를 사용하여 취약점 보고서에서 취약점을 무효화하거나, CI 파이프라인 보안 탭의 보안 발견에 대해서는 SecurityFindingDismiss를 사용해야 합니다.

</div>

GitLab 15.11

openSUSE Leap 15.3 packages

  • GitLab 15.8에서 발표됨
  • GitLab 15.11에서 삭제됨
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 유효하지 않게 만드는 문제를 참조하세요.

openSUSE Leap 15.3의 배포 지원 및 보안 업데이트는 2022년 12월에 종료되었습니다.

GitLab 15.7부터 openSUSE Leap 15.4용 패키지를 제공하기 시작했고, 15.11 마일스톤에서 openSUSE Leap 15.3용 패키지 제공을 중단할 것입니다.

  • openSUSE Leap 15.3 패키지에서 제공되는 15.4 패키지로 전환하세요.

GitLab 15.10

OpenStack Swift 및 Rackspace API를 사용한 자동 백업 업로드

Openstack Swift 및 Rackspace API를 사용하여 원격 저장소에 백업 업로드를 지원하는 기능을 폐기합니다. 이러한 API의 지원은 더 이상 유지보수되지 않는 타사 라이브러리에 의존하고 있으며 Ruby 3에 대한 업데이트가 이루어지지 않았습니다. Ruby 2의 EOL 전에 GitLab은 최신 보안 패치를 받기 위해 Ruby 3로 전환하고 있습니다.

  • OpenStack을 사용하는 경우 백업 작업이 완료된 후 백업 파일을 수동으로 업로드하거나 Swift 대신 S3 API를 사용하도록 설정해야 합니다.
  • Rackspace 스토리지를 사용하는 경우 백업 작업이 완료된 후 백업 파일을 수동으로 업로드하거나 다른 공급업체로 전환해야 합니다.

GitLab 15.9

Web IDE에서 더 이상 라이브 프리뷰를 사용할 수 없음

Web IDE의 라이브 프리뷰 기능은 정적 웹 애플리케이션의 클라이언트 측 미리보기를 제공하는 것이 목적이었습니다. 그러나 복잡한 구성 단계와 지원되는 프로젝트 유형의 한정된 집합으로 인해 그 유틸리티가 제한되었습니다. GitLab 15.7에서 Web IDE 베타를 도입함으로써 이제 전체 서버 측 실행 환경에 연결할 수 있습니다. 또한 Web IDE에서 확장 프로그램을 설치하는 지원이 예정되어 있으며, 이를 통해 라이브 프리뷰보다 더 고급적인 워크플로를 지원할 예정입니다. GitLab 15.9부터 Web IDE에서 라이브 프리뷰를 더 이상 사용할 수 없습니다.

Kubernetes와의 인증서 기반 SaaS 통합

  • GitLab 14.5에서 발표됨
  • GitLab 15.9에서 제거 예정 (중단 변경사항)
  • 이 변경에 대한 토론이나 자세한 내용은 중단 이슈를 참조하세요.

Kubernetes와의 인증서 기반 통합은 폐기 및 제거될 예정입니다. GitLab SaaS 고객으로서, 새로운 네임스페이스에서는 GitLab과 클러스터를 인증서 기반 방식을 사용하여 통합할 수 없게 될 것입니다. 현재 사용자들의 경우, 기존 네임스페이스에 대해 통합이 허용됩니다.

쿠버네티스와 보다 견고하고 안전하며 미래 지향적이며 신뢰할 수 있는 통합을 위해, 쿠버네티스 클러스터를 GitLab과 연결하기 위해 쿠버네티스 에이전트를 사용하는 것을 권장합니다. 어떻게 마이그레이션하나요?

명시적인 제거 날짜가 설정되어 있지만, 새로운 솔루션이 기능 상의 동등성을 갖추기 전까지는 이 기능을 제거할 계획은 없습니다. 제거에 대한 더 많은 정보는 이 이슈를 확인하세요.

이러한 포기의 업데이트와 세부 정보에 대한 내용은 이 이슈를 팔로우하세요.

GitLab 자체 관리 고객은 기능 플래그를 사용하여 이 기능을 계속 사용할 수 있습니다.

omniauth-authentiq 젬 더 이상 사용 불가

  • GitLab 15.9에서 발표됨
  • GitLab 15.9에서 제거 예정 (중단 변경사항)
  • 이 변경에 대한 토론이나 자세한 내용은 중단 이슈를 참조하세요.

omniauth-authentiq는 GitLab의 일부였던 OmniAuth 전략 젬입니다. 인증 서비스를 제공하던 회사인 Authentiq가 종료되었기 때문에 해당 젬이 제거됩니다.

GitLab 15.7

.gitlab-ci.yml에서 파일 형식 변수 확장

  • GitLab 15.5에서 발표됨
  • GitLab 15.7에서 제거 예정 (중단 변경사항)
  • 이 변경에 대한 토론이나 자세한 내용은 중단 이슈를 참조하세요.

이전에 별칭 파일 변수를 참조하거나 적용하는 변수는 File 유형 변수의 값을 확장했습니다. 예를 들어 파일 내용입니다. 이 동작은 일반적인 쉘 변수 확장 규칙을 준수하지 않아 올바르지 않았습니다. File 유형 변수에 저장된 비밀이나 민감한 정보를 노출시키기 위해 사용자는 해당 변수를 입력 매개변수로 사용하는 $echo 명령을 실행할 수 있습니다.

이 중단 변경사항은 이 문제를 해결하지만, 이 동작을 우회하는 사용자의 작업 흐름을 방해할 수 있습니다. 이 변경으로, 별칭 파일 변수를 참조하거나 적용하는 작업 변수 확장은 해당 값(예: 파일 내용)이 아닌 File 유형 변수의 파일 이름이나 경로로 확장됩니다.

Flowdock 통합

  • GitLab 15.7에서 발표됨
  • GitLab 15.7에서 제거 예정
  • 이 변경에 대한 토론이나 자세한 내용은 중단 이슈를 참조하세요.

2022년 12월 22일부로 서비스가 종료된 Flowdock 통합을 제거합니다.

GitLab 15.6

Git 저장소용 NFS

  • GitLab 14.0에서 발표됨
  • GitLab 15.6에서 제거됨

Gitaly Cluster의 General Availability(GitLab 13.0)와 함께, GitLab 14.0에서 Git 저장소용 NFS의 개발(버그 수정, 성능 향상 등)을 사용하지 않음을 공지했습니다. 우리는 14.x를 통해 Git 저장소용 NFS에 대한 기술 지원을 계속 제공할 것이지만, 2022년 11월 22일에 NFS에 대한 모든 지원을 중단할 것입니다. 이는 원래 2022년 5월 22일에 계획되어 있었지만, Gitaly Cluster의 계속된 성숙화를 허용하기 위해 지원 날짜를 연장하기로 선택했습니다. 자세한 내용은 공식 지원 성명서를 참조하십시오.

Gitaly Cluster는 다음과 같은 고객들에게 엄청난 혜택을 제공합니다:

현재 NFS를 사용 중인 고객들은 Gitaly Cluster로의 이전을 계획하도록 권장합니다.

GitLab 15.4

번들로 제공되는 Grafana 퇴폐화됨

  • GitLab 15.3에서 발표됨
  • GitLab 15.4에서 제거됨
  • 이 변경 사항에 대한 토론 또는 자세한 내용은 퇴폐화 이슈를 참조하십시오.

GitLab 15.4에서 번들로 제공되는 Grafana를 GitLab이 유지하는 Grafana의 fork로 교체할 것입니다.

Grafana에 대한 식별된 CVE가 있으며, 이 보안 취약성을 완화하기 위해, 오래된 버전의 Grafana는 더 이상 장기 지원을 받지 않으므로 우리 고유의 fork로 교체해야 합니다.

이는 이전 버전의 Grafana를 사용할 때와 GitLab이 번들로 제공하는 버전을 사용할 때 모두 호환성 문제를 일으키지 않을 것으로 예상됩니다.

SAST 분석기 통합 및 CI/CD 템플릿 변경

  • GitLab 14.8에서 발표됨
  • GitLab 15.4에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 토론 또는 자세한 내용은 퇴폐화 이슈를 참조하십시오.

GitLab SAST는 다양한 취약점을 스캔하기 위해 다양한 분석기를 사용합니다.

우리는 더 나은 및 일관적인 사용자 경험을 제공하기 위한 장기적 전략의 일환으로 GitLab SAST에서 사용되는 분석기의 수를 줄이고 있습니다. 분석기 세트의 간소화는 대부분의 경우 CI 실행 사용률의 감소를 포함하여 더 빠른 반복, 더 나은 결과 및 더 큰 효율성을 가능하게 할 것입니다.

GitLab 15.4에서 GitLab SAST는 더 이상 다음 분석기를 사용하지 않을 것입니다:

참고: 이 변경 사항은 원래 GitLab 15.0에 대해 계획되었으며, GitLab 15.4로 연기되었습니다.

이러한 분석기들은 GitLab 관리 SAST CI/CD 템플릿에서 제거되고 Semgrep 기반 분석기로 교체될 것입니다. 즉시, 이들은 보안 업데이트만 받게 될 것이며, 다른 일상적인 개선 사항 또는 업데이트는 보장되지 않습니다. 이러한 분석기들이 지원 종료 상태에 도달하면, 추가 업데이트는 제공되지 않을 것입니다. 우리는 이러한 분석기들에 대해 이전에 발표된 이미지를 삭제하지 않을 것이며, 이러한 변화가 퇴폐화, 제거 또는 중대한 변경 공지로 발표될 것입니다.

또한, SpotBugs 분석기에서 Java를 범위에서 제거하고 Semgrep 기반 분석기로 교체할 것입니다. 이 변경 사항은 Java 코드를 스캔하는 것을 간단하게 만들 것입니다. 컴파일은 더 이상 필요하지 않을 것입니다. 이 변경 사항은 GitLab 관리 SAST CI/CD 템플릿의 자동 언어 감지 부분에 반영될 것입니다. SpotBugs 기반 분석기는 계속하여 Groovy, Kotlin 및 Scala를 다룰 것입니다.

이전에 폐기된 분석기 중 하나에서의 취약점 발견을 이미 무시했다면, 교체는 다음 사항에 따라 이루어질 것입니다. - 과거에 Semgrep 기반 분석기의 실행을 제외했는지 여부. - 프로젝트의 취약점 보고서에서 처음으로 취약점을 발견한 분석기가 무엇인지.

자세한 내용은 취약점 변환 문서를 참조하십시오.

이 변경 사항에 대한 자세한 내용은 이 변경에 대한 폐폐화 이슈에서의 조치를 취해야 합니다.

GitLab 15.3

취약점 보고서 상태별 정렬

  • GitLab 15.0에서 발표됨
  • GitLab 15.3에서 제거됨
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐지된 이슈를 참조하세요.

취약점 보고서를 State 열로 정렬하는 기능은 GitLab 14.10에서 기본 데이터 모델을 재구성하여 기능 플래그 뒤에 숨겨졌습니다. 이 값으로 정렬하는 것이 계속해서 성능이 보장되려면 추가적인 재구성이 필요하므로 이 기능 플래그가 계속 기본 상태로 유지되었습니다. State 열을 정렬하는 데 사용량이 매우 낮기 때문에 성능 저하를 방지하고 코드베이스를 간소화하기 위해 대신 기능 플래그가 제거될 것입니다.

도구별 취약점 보고서 정렬

  • GitLab 15.1에서 발표됨
  • GitLab 15.3에서 제거됨
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐지된 이슈를 참조하세요.

취약점 보고서를 Tool 열(스캔 유형)로 정렬하는 기능은 GitLab 14.10에서 기본 데이터 모델을 재구성하여 기능 플래그 뒤에 숨겨졌습니다. 이 값으로 정렬하는 것이 계속해서 성능이 보장되려면 추가적인 재구성이 필요하므로 이 기능 플래그가 계속 기본 상태로 유지되었습니다. Tool 열을 정렬하는 데 사용량이 매우 낮기 때문에 성능 저하를 방지하고 코드베이스를 간소화하기 위해 GitLab 15.3에서 기능 플래그가 제거될 것입니다.

GitLab 15.1

Debian 9 지원 중단

  • GitLab 14.9에서 발표됨
  • GitLab 15.1에서 제거됨

Debian 9 Stretch의 장기 서비스 및 지원(LTSS)은 2022년 7월에 종료됩니다. 따라서 GitLab 패키지에서 Debian 9 배포를 더 이상 지원하지 않습니다. 사용자는 Debian 10 또는 Debian 11로 업그레이드할 수 있습니다.

GitLab 15.0

저장소 푸시 이벤트에 대한 감사 이벤트

  • GitLab 14.3에서 발표됨
  • GitLab 15.0에서 제거됨 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐지된 이슈를 참조하세요.

저장소 이벤트에 대한 감사 이벤트가 이제 폐지되며 GitLab 15.0에서 제거될 것입니다.

이러한 이벤트는 기본적으로 항상 비활성화되어 있었으며 기능 플래그로 수동으로 활성화해야 했습니다. 이를 활성화하면 너무 많은 이벤트가 생성되어 GitLab 인스턴스를 심각하게 느리게 만들 수 있습니다. 이러한 이유로 이러한 이벤트가 제거됩니다.

객체 저장을 위한 백그라운드 업로드

  • GitLab 14.9에서 발표됨
  • GitLab 15.0에서 제거됨 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐지된 이슈를 참조하세요.

GitLab의 객체 저장 기능의 전반적인 복잡성과 유지 보수 부담을 줄이기 위해 파일을 업로드하는 데 사용되는 background_upload 지원이 폐지되어 GitLab 15.0에서 완전히 제거될 것입니다. 객체 저장 백그라운드 업로드 설정이 제거됩니다.

이는 일부 객체 저장 공급업체에 영향을 미칩니다:

  • OpenStack OpenStack을 사용하는 고객은 Swift 대신 S3 API를 사용하도록 구성을 변경해야 합니다.
  • RackSpace RackSpace 기반의 객체 저장을 사용하는 고객은 데이터를 다른 제공 업체로 이관해야 합니다.

GitLab은 영향을 받는 고객을 지원하기 위해 추가적인 안내를 게시할 것입니다.

CI/CD 작업 이름 길이 제한

  • GitLab 14.6에서 발표됨
  • GitLab 15.0에서 삭제됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 문제를 참조하세요.

GitLab 15.0에서는 CI/CD 작업 이름의 글자 수를 255로 제한할 예정입니다. 255자를 초과하는 작업 이름을 가진 파이프라인은 15.0 릴리스 이후에 작동을 멈출 것입니다.

인스턴스(공유) 러너를 프로젝트(특정) 러너로 변경

  • GitLab 14.5에서 발표됨
  • GitLab 15.0에서 삭제됨 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 문제를 참조하세요.

GitLab 15.0에서는 더 이상 인스턴스(공유) 러너를 프로젝트(특정) 러너로 변경할 수 없습니다.

사용자들이 종종 실수로 인스턴스 러너를 프로젝트 러너로 변경하면 다시 변경할 수 없게 됩니다. GitLab은 프로젝트 러너를 공유 러너로 변경하는 것을 허용하지 않습니다. 한 프로젝트용으로 의도된 러너가 전체 인스턴스의 작업을 실행할 수 있기 때문입니다.

여러 프로젝트에 러너를 추가해야 하는 관리자는 한 프로젝트에 러너를 등록한 다음 관리자 보기로 이동하여 추가 프로젝트를 선택할 수 있습니다.

컨테이너 네트워크와 호스트 보안

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 삭제됨 (breaking change)

GitLab의 컨테이너 네트워크 보안 및 컨테이너 호스트 보안 범주와 관련된 모든 기능은 GitLab 14.8에서 폐지되었으며 15.0에서 삭제될 예정입니다. 이러한 기능에 대한 대체가 필요한 사용자들은 GitLab 외부에서 설치하고 관리할 수 있는 다음 오픈 소스 프로젝트를 평가하는 것이 좋습니다: AppArmor, Cilium, Falco, FluentD, Pod Security Admission. 이러한 기술을 GitLab에 통합하려면 원하는 Helm 차트를 Cluster Management Project Template의 복사본에 추가하세요. 이러한 Helm 차트를 GitLab CI/CD를 통해 프로덕션 환경에 배포하세요.

이 변경의 일환으로 다음과 같은 특정 기능들이 이제 GitLab에서 폐지되었으며 15.0에서 삭제될 예정입니다:

  • 보안 및 규정 준수 > 위협 모니터링 페이지.
  • 보안 및 규정 준수 > 정책 페이지에서 찾을 수 있는 네트워크 정책 보안 정책 유형.
  • GitLab을 통해 다음 기술과의 통합 관리 기능: AppArmor, Cilium, Falco, FluentD 및 Pod Security 정책.
  • 이러한 기능과 관련된 모든 API.

추가적인 컨텍스트나 이 변경에 대한 피드백을 제공하려면 저희의 폐지 문제를 참조하세요.

14.0.0 이하의 컨테이너 스캔 스키마

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 삭제됨

컨테이너 스캔 보고서 스키마의 14.0.0 이하 버전은 GitLab 15.0에서 더 이상 지원되지 않을 것입니다. 보고서 중 선언된 스키마 버전의 유효성을 통과하지 못하는 보고서도 GitLab 15.0에서 더 이상 지원되지 않을 것입니다.

파이프라인 작업 artifact로 컨테이너 스캔 보안 보고서를 출력하여 GitLab과 통합하는 타사 도구들에 영향을 미칩니다. 모든 출력 보고서가 14.0.0 이상 버전의 올바른 스키마를 준수하는지 확인해야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전에 대한 유효성 검사를 통과하지 못하는 보고서는 처리되지 않으며 취약점 결과는 MR, 파이프라인 또는 취약점 보고서에 표시되지 않을 것입니다.

이전 버전의 스키마에 준수하지 않는 보고서는 GitLab 14.10부터 취약점 보고서에 경고가 표시됩니다.

14.0.0 버전 이하의 커버리지 가이드 퍼징 스키마

  • GitLab 14.7에서 공지됨
  • GitLab 15.0에서 삭제됨

커버리지 가이드 퍼징 보고서 스키마 14.0.0 버전 미만은 GitLab 15.0에서 더 이상 지원되지 않습니다. 보고서에서 선언된 스키마 버전을 통과하지 못하는 보고서도 GitLab 15.0에서 더 이상 지원되지 않을 것입니다.

파이프라인 작업 아티팩트로 커버리지 가이드 퍼징 보안 보고서를 출력하여 GitLab과 통합하는 타사 도구가 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하는지 14.0.0 버전 이상을 가져야 합니다. 더 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약점 발견은 MR(병합 요청), 파이프라인 또는 취약점 보고서에 표시되지 않을 것입니다.

전환을 돕기 위해 GitLab 14.10부터 불일치하는 보고서는 취약점 보고서에 경고 메시지가 표시됩니다.

14.0.0 버전 이하의 DAST 스키마

  • GitLab 14.7에서 공지됨
  • GitLab 15.0에서 삭제됨

DAST 보고서 스키마 14.0.0 버전 이전의 버전은 GitLab 15.0에서 더 이상 지원되지 않을 것입니다. 보고서에서 선언된 스키마 버전을 통과하지 못하는 보고서도 GitLab 15.0부터 더 이상 지원되지 않을 것입니다.

파이프라인 작업 아티팩트로 DAST 보안 보고서를 출력하여 GitLab과 통합하는 타사 도구가 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하는지 14.0.0 버전 이상을 가져야 합니다. 더 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약점 발견은 MR(병합 요청), 파이프라인 또는 취약점 보고서에 표시되지 않을 것입니다.

전환을 돕기 위해 GitLab 14.10부터 불일치하는 보고서는 취약점 보고서에 경고 메시지가 표시될 것입니다.

Python 3.9 및 3.6 이미지 사용 중단에 따른 종속성 검사

  • GitLab 14.8에서 공지됨
  • GitLab 15.0에서 삭제됨 (breaking change)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 중단 사항 이슈를 참조하세요.

Python 프로젝트에 대한 종속성 검사를 사용하고 있는 경우, 기본 gemnasium-python:2 이미지(부가적인 Python 3.6를 사용함) 및 Python 3.9를 사용하는 사용자 정의 gemnasium-python:2-python-3.9 이미지를 사용 중단합니다. GitLab 15.0의 새로운 기본 이미지는 Python 3.9을 지원하는 버전이므로 지원되는 버전이며 3.6은 지원이 종료되었습니다.

Python 3.9 또는 3.9 호환 프로젝트를 사용하는 사용자는 조치를 취할 필요가 없으며, GitLab 15.0에서 종속성 검사가 작동하기 시작해야 합니다. 새로운 컨테이너를 테스트하려면 프로젝트에서 다음 컨테이너(15.0에서 제거될 예정)를 사용하여 테스트 파이프라인을 실행하십시오. Python 3.9 이미지를 사용하세요:

gemnasium-python-dependency_scanning:
  image:
    name: registry.gitlab.com/gitlab-org/security-products/analyzers/gemnasium-python:2-python-3.9

Python 3.6을 사용하는 사용자는 GitLab 15.0부터 기본 종속성 검사 템플릿을 더 이상 사용할 수 없게 될 것입니다. 사용 중이면 deprecated gemnasium-python:2 analyzer 이미지를 사용하도록 변경해야 합니다. 이에 영향을 받는 사용자는 필요시 제거를 연장할 수 있도록 해당 이슈에 의견을 달아 주세요.

3.9 특별 예외 이미지를 사용하는 사용자는 대신 기본값을 사용하고 컨테이너를 더 이상 재정의하지 않아야 합니다. 3.9 특별 예외 이미지를 사용 중인지 확인하려면 .gitlab-ci.yml 파일에서 다음 참조를 확인하세요:

gemnasium-python-dependency_scanning:
  image:
    name: registry.gitlab.com/gitlab-org/security-products/analyzers/gemnasium-python:2-python-3.9

Dependency Scanning default Java version changed to 17

  • GitLab 14.10에서 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)

GitLab 15.0에서는 Dependency Scanning을 위해 스캐너가 기대하는 Java의 기본 버전이 11에서 17로 업데이트됩니다. Java 17은 가장 최신의 장기 지원(LTS) 버전입니다. 의존성 스캔은 여전히 지원되는 버전 범위(8, 11, 13, 14, 15, 16, 17)을 지원하지만 기본 버전이 변경됩니다. 프로젝트가 이전의 기본 Java 11을 사용하는 경우, DS_Java_Version 변수를 맞추도록 확인하십시오.

14.0.0 미만의 Dependency scanning schemas

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 제거됨

의존성 스캔 보고서 스키마는 14.0.0 미만의 버전은 GitLab 15.0에서 더 이상 지원되지 않습니다. 보고서가 선언된 스키마 버전과의 유효성 검사를 통과하지 않는 경우에도 GitLab 15.0부터 더 이상 지원되지 않습니다.

파이프라인 작업 artefact로 Dependency scanning security report를 출력하여 GitLab과 통합하는 제3 자 도구가 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하는지 확인해야 합니다. 최소 버전은 14.0.0입니다. 낮은 버전이나 선언된 스키마 버전에 대한 유효성 검사에 실패하는 보고서는 MR, 파이프라인 또는 취약점 보고서에 표시되지 않습니다.

전환을 돕기 위해 GitLab 14.10부터 비준하는 보고서는 취약점 보고서에 경고가 표시됩니다.

Geo Admin UI Routes 폐기

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거됨
  • 이 변경사항을 논의하거나 자세히 알아보려면 폐지 이슈를 확인하세요.

GitLab 13.0에서 Geo Admin UI에 새 프로젝트 및 디자인 복제 세부정보 루트를 소개했습니다. 이러한 루트는 /admin/geo/replication/projects/admin/geo/replication/designs입니다. 우리는 이전의 루트를 유지하고 새 루트로 리디렉션했습니다. GitLab 15.0에서는 이전의 레거시 루트인 /admin/geo/projects/admin/geo/designs의 지원을 제거할 것입니다. 레거시 루트를 사용하는 즐겨찾기나 스크립트를 업데이트해 주십시오.

사용자 정의 Geo:db:* Rake 작업 폐기

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거됨
  • 이 변경사항을 논의하거나 자세히 알아보려면 폐지 이슈를 확인하세요.

GitLab 14.8에서 Geo 추적 데이터베이스를 Rails의 6번째 다중 데이터베이스 지원을 사용하도록 전환한 후, geo:db:* Rake 작업을 내장된 작업으로 교체하고 있습니다. 다음 geo:db:* 작업은 해당 db:*:geo 작업으로 대체될 것입니다:

  • geo:db:drop -> db:drop:geo
  • geo:db:create -> db:create:geo
  • geo:db:setup -> db:setup:geo
  • geo:db:migrate -> db:migrate:geo
  • geo:db:rollback -> db:rollback:geo
  • geo:db:version -> db:version:geo
  • geo:db:reset -> db:reset:geo
  • geo:db:seed -> db:seed:geo
  • geo:schema:load:geo -> db:schema:load:geo
  • geo:db:schema:dump -> db:schema:dump:geo
  • geo:db:migrate:up -> db:migrate:up:geo
  • geo:db:migrate:down -> db:migrate:down:geo
  • geo:db:migrate:redo -> db:migrate:redo:geo
  • geo:db:migrate:status -> db:migrate:status:geo
  • geo:db:test:prepare -> db:test:prepare:geo
  • geo:db:test:load -> db:test:load:geo
  • geo:db:test:purge -> db:test:purge:geo

기능 플래그 PUSH_RULES_SUPERSEDE_CODE_OWNERS 폐기

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 폐기 예정 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

기능 플래그 PUSH_RULES_SUPERSEDE_CODE_OWNERS는 GitLab 15.0에서 제거됩니다. 이 제거로 인해 푸시 규칙이 코드 소유자(Code Owners)를 대체합니다. 코드 소유자의 승인이 필요한 경우에도, 특정 사용자가 코드를 푸시하는 것을 명시적으로 허용하는 푸시 규칙은 코드 소유자 설정을 우선합니다.

Elasticsearch 6.8

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 폐기 예정 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

Elasticsearch 6.8은 GitLab 14.8에서 폐기 예정이며 GitLab 15.0에서 제거될 예정입니다. Elasticsearch 6.8을 사용 중인 고객은 GitLab 15.0으로 업그레이드하기 전에 Elasticsearch 버전을 7.x로 업그레이드해야 합니다. 모든 Elasticsearch 개선 사항을 활용하려면 Elasticsearch 7의 최신 버전을 사용하는 것이 좋습니다.

Elasticsearch 6.8은 Amazon OpenSearch과 호환되지 않으며, 우리는 GitLab 15.0에서 이를 지원할 계획입니다.

보안 보고서 스키마 강제 유효성 검사

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 폐기 예정
  • 이 변경 사항을 논의하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

GitLab 15.0에서는 버전 14.0.0 이전인 보안 보고서 스키마를 지원하지 않을 예정입니다. 보고서 버전에서 선언된 스키마에 대한 유효성을 통과하지 못하는 보고서도 GitLab 15.0에서 더 이상 지원되지 않을 것입니다.

파이프라인 작업 아티팩트로 GitLab과 통합하여 보안 보고서를 출력하는 보안 도구가 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하는지와 14.0.0 버전의 최소 스키마 버전을 확인해야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전을 검증하지 못하는 보고서는 처리되지 않으며, 취약점 결과가 MR, 파이프라인 또는 취약점 보고서에 표시되지 않습니다.

14.10부터, 준수하지 않는 보고서는 취약점 보고서에 경고가 표시됩니다.

외부 상태 확인 API 중단 변경 사항

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 폐기 예정 (중단 변경)

외부 상태 확인 API는 원래 상태 확인을 기본으로 통과하는 요청을 지원하기 위해 구현되었습니다. 이제 이러한 요청은 폐기되었습니다. 구체적으로 다음이 폐기되었습니다:

  • status 필드가 포함되지 않은 요청.
  • status 필드가 approved로 설정된 요청.

GitLab 15.0부터, 상태 확인은 passed로 설정된 status 필드가 존재할 때에만 업데이트됩니다. 다음과 같은 요청은:

  • status 필드가 포함되지 않는 경우 422 오류가 발생합니다. 자세한 내용은 해당 이슈를 참조하십시오.
  • passed가 아닌 값이 포함된 경우 상태 확인이 실패합니다. 자세한 내용은 해당 이슈를 참조하십시오.

이 변경 사항에 맞추기 위해, 외부 상태 확인 목록을 나열하는 API 호출은 통과된 상태 확인에 대해 approved가 아닌 passed의 값을 반환할 것입니다.

GitLab 페이지가 데몬으로 실행 중

  • GitLab 14.9에서 발표됨
  • GitLab 15.0에서 제거될 예정

15.0에서 GitLab 페이지의 데몬 모드 지원이 제거될 예정입니다.

GitLab 서버리스

  • GitLab 14.3에서 발표됨
  • GitLab 15.0에서 제거될 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세한 내용을 알아보려면 제거 예정 사항을 확인하세요.

GitLab 서버리스는 Knative 기반의 서버리스 개발을 지원하는 기능 세트로, 자동 배포와 모니터링을 지원합니다.

저희는 GitLab 서버리스 기능을 사용자들에게 잘 맞지 않았기 때문에 제거하기로 결정했습니다. 게다가 Kubernetes와 Knative의 지속적인 개발을 감안하면, 현재 우리의 구현은 최근 버전과도 작동하지 않습니다.

라이선스 컴플라이언스의 Godep 지원

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 제거될 예정
  • 이 변경 사항에 대해 토론하거나 자세한 내용을 알아보려면 제거 예정 사항을 확인하세요.

Golang의 Godep 의존성 관리자는 2020년에 Go에 의해 폐기되었으며 Go 모듈로 대체되었습니다. 저희는 유지보수 비용을 줄이기 위해 14.7부터 Godep 프로젝트의 라이선스 컴플라이언스를 폐기하고, GitLab 15.0에서 제거할 예정입니다.

GraphQL ID 및 GlobalID 호환성

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거될 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세한 내용을 알아보려면 제거 예정 사항을 확인하세요.

우리는 역호환성을 위해 추가한 GraphQL 프로세서의 비표준 확장을 제거합니다. 이 확장은 GraphQL 쿼리의 유효성 검사를 수정하여 ID 유형을 일반적으로 거부되는 인수로 허용합니다. 일부 인수는 원래 ID 유형이었습니다. 이러한 것들은 특정 유형의 ID로 변경되었습니다. 이 변경 사항은 다음과 같은 경우에는 기존 쿼리 서명에서:

  • GraphQL을 사용합니다.
  • 쿼리 서명에서 모든 인수에 ID 유형을 사용합니다.

일부 필드 인수는 여전히 ID 유형을 가지고 있습니다. 이러한 것들은 일반적으로 IID 값이나 네임스페이스 경로에 대한 것입니다. 예를 들어 Query.project(fullPath: ID!)가 있습니다.

영향을 받는 및 영향을 받지 않는 필드 인수의 목록은 제거 예정 사항을 참조하세요.

이 변경 사항이 영향을 미치는지 테스트하려면 지역적으로 쿼리를 유효성 검사하고, GitLab 서버에서 가져온 스키마 데이터를 사용하여 테스트할 수 있습니다. 해당 GitLab 인스턴스의 GraphQL 탐색기 도구를 사용하여 이 작업을 수행할 수 있습니다. 예를 들어: https://gitlab.com/-/graphql-explorer.

예를 들어, 다음 쿼리는 이 변경 사항을 보여줍니다:

# 폐기된 유형의 Query.issue(id:)를 사용하는 쿼리
# 경고: GitLab 15.0 이후에 작동하지 않습니다
query($id: ID!) {
  deprecated: issue(id: $id) {
    title, description
  }
}

위의 쿼리는 GitLab 15.0 이후에 작동하지 않습니다. 왜냐하면 Query.issue(id:)의 유형은 실제로 IssueID!입니다.

대신, 다음 두 형식 중 하나를 사용해야 합니다:

# 계속해서 작동합니다
query($id: IssueID!) {
  a: issue(id: $id) {
    title, description
  }
  b: issue(id: "gid://gitlab/Issue/12345") {
    title, description
  }
}

이 쿼리는 현재 작동하며, GitLab 15.0 이후에도 계속 작동할 것입니다. 첫 번째 형식(서명에서 ID를 명명된 유형으로 사용)의 쿼리를 다른 두 형식 중 하나(올바른 적절한 유형을 서명에 사용하거나, 인라인 인수 표현을 사용)으로 변환해야 합니다.

패키지 설정용 GraphQL 권한 변경

  • GitLab 14.9에서 발표됨
  • GitLab 15.0에서 제거 예정 (중단 변경)

GitLab Package 단계는 패키지 레지스트리, 컨테이너 레지스트리 및 의존성 프록시를 제공하여 GitLab을 사용하여 모든 종속성을 관리하는 데 도움이 됩니다. 각 제품 범주에는 API를 사용하여 조정할 수 있는 다양한 설정이 있습니다.

GraphQL의 권한 모델이 업데이트됩니다. 15.0 이후에는 게스트, 보고자 및 개발자 역할을 하는 사용자는 더 이상 다음 설정을 업데이트할 수 없습니다.

GitLab Runner SSH executor에 필요한 알려진 호스트

  • GitLab 14.5에서 발표됨
  • GitLab 15.0에서 제거 예정 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 중단 사항 이슈를 참조하세요.

GitLab 14.3에서 GitLab Runner config.toml 파일에 구성 설정을 추가했습니다. 이 설정인 [runners.ssh.disable_strict_host_key_checking]은 SSH executor에서 엄격한 호스트 키 확인을 사용할지 여부를 제어합니다.

15.0 버전 이후,이 구성 옵션의 기본값은 true에서 false로 변경됩니다. 이는 GitLab Runner SSH executor를 사용할 때 엄격한 호스트 키 확인이 강제됨을 의미합니다.

라이선스 컴플라이언스 API의 레거시 승인 상태 이름

  • GitLab 14.6에서 발표됨
  • GitLab 15.0에서 제거 예정 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 중단 사항 이슈를 참조하세요.

managed_licenses API에서 라이선스 정책의 승인 상태에 대한 레거시 이름 (블랙리스트, 승인됨)을 사용 중단되었지만 여전히 API 쿼리 및 응답에서 사용됩니다. 이들은 15.0에서 제거될 것입니다.

저희의 License Compliance API를 사용 중이라면 approved(승인됨) 및 blacklisted(블랙리스트) 쿼리 매개변수를 사용하지 않아야 합니다. 이제 이들은 allowed(허용됨) 및 denied(거부됨)으로 변경되었습니다. 15.0에서 응답도 approved(승인됨) 및 blacklisted(블랙리스트) 사용을 중단하므로 사용자 지정 도구를 조정하여 15.0 릴리스에서 유지되도록 조정해야 합니다.

레거시 데이터베이스 구성

  • GitLab 14.3에서 발표됨
  • GitLab 15.0에서 제거 예정 (중단 변경)
  • 이 변경 사항을 논의하거나 자세히 알아보려면 중단 사항 이슈를 참조하세요.

database.yml에 있는 GitLab 데이터베이스 구성 구문이 변경되어 레거시 형식이 사용 중단됩니다. 이전 형식은 단일 PostgreSQL 어댑터를 지원했지만 새로운 형식은 여러 데이터베이스를 지원하도록 변경됩니다. main: 데이터베이스는 첫 번째 구성 항목으로 정의되어야 합니다.

이러한 사용 중단은 주로 Omnibus가 이 구성을 자동으로 처리하기 때문에 GitLab을 소스에서 컴파일하는 사용자에 영향을 줍니다.

GitLab에서의 로깅

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 제거 예정 (중단 변경 사항)
  • 이 변경에 대한 토론이나 자세한 내용을 알아보려면 중단 문제를 참조하세요.

GitLab의 로깅 기능을 통해 사용자들은 ELK 스택(Elasticsearch, Logstash 및 Kibana)을 설치하여 애플리케이션 로그를 집계하고 관리할 수 있습니다. 사용자들은 GitLab에서 관련 로그를 검색할 수 있습니다. 그러나 Kubernetes 클러스터 및 GitLab 관리 앱과의 인증서 기반 통합이 폐지된 이후로, GitLab 내에서의 로깅에 대한 권장 솔루션이 없습니다. 자세한 정보는 GitLab과 Opstrace를 통합하는 문제를 따를 수 있습니다.

custom_hooks_dir 설정 GitLab Shell에서 Gitaly로 이동

  • GitLab 14.9에서 발표됨
  • GitLab 15.0에서 제거 예정

custom_hooks_dir 설정은 이제 Gitaly에서 구성되며, GitLab 15.0에서 GitLab Shell에서 제거될 예정입니다.

OAuth 암시적 그랜트

다음 주요 릴리스인 GitLab 15.0에서 OAuth 암시적 그랜트 인가 흐름이 제거될 예정입니다. OAuth 암시적 그랜트를 사용하는 애플리케이션은 대체 지원되는 OAuth 흐름으로 전환해야 합니다.

만료되지 않는 OAuth 토큰

기본적으로 모든 새로운 애플리케이션은 2시간 후에 액세스 토큰이 만료됩니다. GitLab 14.2 이전에는 OAuth 액세스 토큰이 만료되지 않았습니다. GitLab 15.0에서는 만료일이 없는 기존 토큰에 대해 자동 만료가 생성될 것입니다.

GitLab 15.0이 출시되기 전에 토큰 만료를 사용하도록 선택해야 합니다:

  1. 애플리케이션을 편집합니다.
  2. 액세스 토큰 만료를 선택하여 사용합니다. 토큰은 폐기되거나 만료되지 않습니다.

OmniAuth Kerberos gem

  • GitLab 14.3에서 발표됨
  • GitLab 15.0에서 제거 예정 (중단 변경 사항)
  • 이 변경에 대한 토론이나 자세한 내용을 알아보려면 중단 문제를 참조하세요.

omniauth-kerberos gem은 다음 주요 릴리스인 GitLab 15.0에서 제거될 예정입니다.

해당 gem은 유지보수되지 않았으며 거의 사용되지 않았습니다. 따라서 이 인증 방법의 지원을 제거하고 Kerberos SPNEGO 통합을 사용할 것을 권장합니다. omniauth-kerberos 통합에서 지원되는 방법으로 업그레이드 지침을 따를 수 있습니다.

Kerberos SPNEGO 통합은 폐기되지 않았음을 유의하세요. 이전의 기존 비밀번호 기반 Kerberos 통합만 폐기될 것입니다.

PAT 만료 선택적 강제 실행

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 논의 또는 자세한 내용은 폐기 문제를 참조하세요.

PAT 만료 강제 실행 비활성화 기능은 보안 관점에서 일반적이지 않습니다. 이러한 일반적이지 않은 기능이 사용자에게 예상치 못한 동작을 일으킬 수 있다는 우려가 생겼습니다. 안전한 기능에서 예상치 못한 동작은 본질적으로 위험하므로, 우리는 이 기능을 제거하기로 결정했습니다.

SSH 만료 선택적 강제 실행

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 논의 또는 자세한 내용은 폐기 문제를 참조하세요.

SSH 만료 강제 실행 비활성화 기능은 보안 관점에서 일반적이지 않습니다. 이러한 일반적이지 않은 기능이 사용자에게 예상치 못한 동작을 일으킬 수 있다는 우려가 생겼습니다. 안전한 기능에서 예상치 못한 동작은 본질적으로 위험하므로, 우리는 이 기능을 제거하기로 결정했습니다.

Java 8를 위한 Out-of-the-box SAST 지원

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 논의 또는 자세한 내용은 폐기 문제를 참조하세요.

GitLab SAST SpotBugs analyzerJava, Scala, Groovy, 그리고 Kotlin 코드를 보안 취약점을 스캔합니다. 기술적인 이유로, 분석기는 스캔하기 전에 코드를 먼저 컴파일해야 합니다. 사전 컴파일 전략을 사용하지 않는 한, 분석기는 프로젝트 코드를 자동으로 컴파일하려고 시도합니다.

GitLab 15.0 이전 버전에서, 분석기 이미지에는 컴파일을 용이하게 하기 위해 Java 8 및 Java 11 런타임이 포함되어 있습니다.

GitLab 15.0에서, 우리는:

  • 이미지 크기를 줄이기 위해 분석기 이미지에서 Java 8을 제거합니다.
  • Java 17을 분석기 이미지에 추가하여 Java 17로 컴파일할 수 있도록 합니다.

분석기 환경에서 Java 8이 필요한 경우, 해당 변경에 대한 폐기 문제에 설명된 대로 조치해야 합니다.

고급 검색 마이그레이션의 오래된 인덱스

  • GitLab 14.10에서 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)
  • 이 변경 사항에 대한 논의 또는 자세한 내용은 폐기 문제을 참조하세요.

고급 검색 마이그레이션은 보통 오랜 기간 동안 다중 코드 경로를 지원해야 하기 때문에, 우리가 안전하게 정리할 수 있는 경우에 해당 사항을 정리하는 것이 중요합니다. 우리는 완전히 마이그레이션되지 않은 인덱스에 대한 후방 호환성을 제거하는 안전한 시기로 GitLab 메이저 버전 업그레이드를 사용합니다. 자세한 내용은 업그레이드 문서를 참조하세요.

익명화 모듈

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 제거됨
  • 이 변경 사항에 대한 논의 또는 자세한 내용은 폐기 문제를 참조하세요.

익명화 모듈 기능은 대체로 사용되지 않으며, 대규모 데이터베이스에서 프로듀션 문제를 유발할 수 있으며, 객체 저장소 개발에 방해가 될 수 있습니다. 이제 해당 기능은 폐기되었으며, GitLab 15.0에서 제거될 예정입니다.

instanceStatisticsMeasurements GraphQL 노드를 통한 사용량 트렌드 조회

  • GitLab 14.8에서 발표
  • GitLab 15.0에서 제거 예정 (중단 변경)
  • 이 변경 사항에 대한 토론 또는 자세한 내용은 중단 문제를 참조하세요.

instanceStatisticsMeasurements GraphQL 노드는 13.10에서 usageTrendsMeasurements로 이름이 변경되었으며 이전 필드 이름이 폐기 처리되었습니다. 기존의 GraphQL 쿼리를 수정하려면 instanceStatisticsMeasurementsusageTrendsMeasurements로 바꿔야 합니다.

요청 프로파일링

  • GitLab 14.8에서 발표
  • GitLab 15.0에서 제거 예정 (중단 변경)
  • 이 변경 사항에 대한 토론 또는 자세한 내용은 중단 문제를 참조하세요.

요청 프로파일링은 GitLab 14.8에서 폐기 처리되었으며 GitLab 15.0에서 제거 예정입니다.

저희는 프로파일링 도구를 통합하고 쉽게 접근할 수 있게 만들고 있습니다. 이 기능의 사용이 거의 없다는 것을 평가했으며, 이 기능은 루비의 최신 버전에 대한 업데이트가 이루어지지 않거나 페이지 로드 중에 자주 충돌하는 몇 가지 관리되지 않는 써드파티 gem에 의존합니다.

자세한 내용은 중단 문제의 요약 섹션을 확인하세요.

프리미엄 티어의 필수 파이프라인 구성

  • GitLab 14.8에서 발표
  • GitLab 15.0에서 제거 예정 (중단 변경)

프리미엄 고객을 위한 필수 파이프라인 구성 기능은 GitLab 14.8에서 폐기 처리되었으며 GitLab 15.0에서 제거 예정입니다. 이 기능은 GitLab Ultimate 고객에게는 폐기 처리되지 않습니다.

본 변경은 이 기능의 수요가 주로 경영진으로부터 시작되었기 때문에 해당 기능을 GitLab의 양념 철학과 더욱 일치시키고자 하는 의도입니다.

이 변경은 또한 GitLab이 다른 관련된 최종 티어 기능들과 일관성 있는 티어링 전략을 유지할 수 있도록 돕게 될 것입니다: 보안 정책컴플라이언스 프레임워크 파이프라인.

Retire-JS 종속성 스캐닝 도구

  • GitLab 14.8에서 발표
  • GitLab 15.0에서 제거 예정 (중단 변경)
  • 이 변경 사항에 대한 토론 또는 자세한 내용은 중단 문제를 참조하세요.

14.8에서 retire.js 작업이 Dependency Scanning에서 폐기 처리되었습니다. 폐기 처리되어도 여전히 CI/CD 템플릿에 포함될 예정입니다. retire.js는 2022년 5월 22일에 GitLab 15.0에서 Dependency Scanning에서 제거될 예정입니다. 자바스크립트 스캐닝 기능은 Gemnasium에서 여전히 지원될 예정입니다.

DS_EXCLUDED_ANALYZERS를 사용하여 명시적으로 retire.js를 제외한 경우 15.0에서 참조를 정리해야 합니다. retire.js에 특별히 맞춤화한 경우 15.0에서 retire-js-dependency_scanning 작업을 gemnasium-dependency_scanning으로 변경하여 파이프라인이 실패하는 것을 방지해야 합니다. retire.js에 대해 DS_EXCLUDED_ANALYZERS를 사용하지 않았거나 retire.js에 특별히 맞춤화한 경우 조치할 필요가 없습니다.

SAST 14.0.0 이하의 스키마

  • GitLab에서 발표됨 14.7
  • GitLab에서 제거됨 15.0

SAST 보고서 스키마 14.0.0 이전 버전은 GitLab 15.0에서 더 이상 지원되지 않을 것입니다. 보고서가 선언된 스키마 버전을 통과하지 못하면 GitLab 15.0에서도 더 이상 지원되지 않을 것입니다.

GitLab과 통합하여 SAST 보안 보고서를 출력하는 제3자 도구 파이프라인 작업 자산으로 주는 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하는지, 최소 버전이 14.0.0인지 확인해야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약성 결과는 MR, 파이프라인 또는 취약성 보고서에 표시되지 않을 것입니다.

전환을 돕기 위해 GitLab 14.10부터 미준수 보고서는 취약성 보고서에 경고가 표시됩니다.

.NET 2.1에 대한 SAST 지원

  • GitLab에서 발표됨 14.8
  • GitLab에서 제거됨 15.0 (중단 변경)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 사항 이슈를 참조하세요.

GitLab SAST 보안 코드 스캔 분석기는 .NET 코드의 보안 취약점을 스캔합니다. 기술적 이유로, 분석기는 먼저 코드를 빌드해야 스캔할 수 있습니다.

GitLab 15.0 이전 버전에서는 기본 분석기 이미지(버전 2)가 다음을 지원합니다:

  • .NET 2.1
  • .NET 3.0 및 .NET Core 3.0
  • .NET Core 3.1
  • .NET 5.0

GitLab 15.0에서 이 분석기의 기본 주요 버전을 버전 2에서 버전 3으로 변경할 것입니다. 이 변경:

버전 3은 GitLab 14.6에서 발표되었으며 선택적 업그레이드로 사용할 수 있습니다.

기본적으로 분석기 이미지에 .NET 2.1 지원이 포함되어 있어야 하는 경우, 이 변경에 대한 중단 사항 이슈에 명시된 대로 조치해야 합니다.

비밀 감지 구성 변수 폐기

  • GitLab에서 발표됨 14.8
  • GitLab에서 제거됨 15.0
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 중단 사항 이슈를 참조하세요.

GitLab 비밀 감지를 사용자화하는 것을 간단하고 신뢰할 수 있도록하기 위해 이전에 CI/CD 구성에서 설정할 수 있던 일부 변수들을 폐기합니다.

다음 변수는 현재 기존 스캐닝 옵션을 사용자화하는 것을 허용했지만 GitLab 관리 CI/CD 템플릿과 상호 작용이 좋지 않아 이제 사용이 폐기되었습니다:

  • SECRET_DETECTION_COMMIT_FROM
  • SECRET_DETECTION_COMMIT_TO
  • SECRET_DETECTION_COMMITS
  • SECRET_DETECTION_COMMITS_FILE

이전에 SECRET_DETECTION_ENTROPY_LEVEL은 코드베이스의 문자열 엔트로피 수준만을 고려하는 규칙을 구성했지만 현재는 폐기되었습니다. 이러한 유형의 엔트로피만을 고려한 규칙은 잘못된 결과(거짓 양성)를 일으키는 바람직하지 않은 수의 결과를 만들어내어 더 이상 지원되지 않습니다.

GitLab 15.0에서 비밀 감지 분석기를 이러한 폐기된 옵션을 무시하도록 업데이트할 것입니다. 여전히 commit 히스토리의 과거 스캔을 설정함으로써 SECRET_DETECTION_HISTORIC_SCAN CI/CD 변수를 설정하여 여전히 가능합니다.

자세한 내용은 이 변경 사항에 대한 폐기 이슈를 참조하세요.

14.0.0 미만의 Secret Detection 스키마

  • GitLab 14.7에서 발표
  • GitLab 15.0에서 제거됨

Secret detection report schemas 14.0.0 이전 버전은 GitLab 15.0에서 더 이상 지원되지 않습니다. 보고서가 선언된 스키마 버전을 기준으로 유효성을 통과하지 않는 보고서도 GitLab 15.0부터 더 이상 지원되지 않을 것입니다.

GitLab과 통합하여 시크릿 감지 보안 보고서를 출력하는 서드파티 도구도 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하는지 확인해야 합니다. 최소 버전이 14.0.0이어야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약점 결과가 MR(Merge Request), 파이프라인 또는 취약점 보고서에 표시되지 않습니다.

14.10부터는 비준수 보고서에 경고가 표시됩니다.

새 위치에 발행된 Secure and Protect analyzer 이미지

  • GitLab 14.8에서 발표
  • GitLab 15.0에서 제거됨 (변경사항)
  • 이 변경에 대해 논의하거나 자세히 알아보려면 제거 사항 이슈를 참조하세요.

GitLab은 다양한 분석기(analyzers)를 사용하여 보안 취약점을 스캔합니다. 각 분석기는 컨테이너 이미지로 배포됩니다.

GitLab 14.8부터 새로운 버전의 GitLab Secure 및 Protect 분석기가 registry.gitlab.com/security-products의 새 레지스트리 위치로 발행됩니다.

기본값을 변경하여 GitLab 관리 CI/CD 템플릿을 업데이트할 것입니다. - 컨테이너 스캔을 제외한 모든 분석기에 대해 SECURE_ANALYZERS_PREFIX 변수를 새 이미지 레지스트리 위치로 업데이트할 것입니다. - 컨테이너 스캔은 기본 이미지 주소가 이미 업데이트되었습니다. 컨테이너 스캔에 대한 SECURE_ANALYZERS_PREFIX 변수는 없습니다.

향후 릴리스에서는 registry.gitlab.com/gitlab-org/security-products/analyzers로 이미지를 더 이상 발행하지 않을 것입니다. 이 경우 수동으로 이미지를 가져와 별도의 레지스트리에 푸시하는 경우 조치해야 합니다. 이는 오프라인 배포의 일반적인 경우입니다. 그렇지 않으면 추가 업데이트를 받을 수 없습니다.

자세한 내용은 제거 사항 이슈를 참조하세요.

Secure and Protect 분석기 주요 버전 업데이트

  • GitLab 14.8에서 발표
  • GitLab 15.0에서 제거됨 (변경사항)
  • 이 변경에 대해 논의하거나 자세히 알아보려면 제거 사항 이슈를 참조하세요.

Secure 및 Protect 단계에서는 분석기의 메이저 버전을 GitLab 15.0 릴리스와 함께 업데이트할 것입니다. 이 메이저 업데이트로 인해 다음과 같이 분석기 간에 명확한 구분이 가능해집니다: - 2022년 5월 22일 이전에 릴리스된 분석기는 엄격한 스키마 유효성 검증의 영향을 받지 않는 보고서를 생성합니다. - 2022년 5월 22일 이후에 릴리스된 분석기는 엄격한 스키마 유효성 검증의 영향을 받는 보고서를 생성합니다.

기본 포함 템플릿을 사용하지 않거나 분석기 버전을 고정시킨 경우 CI/CD 작업 정의를 업데이트해야 합니다. GitLab 12.0-14.10 사용자는 GitLab 15.0 릴리스 이전까지 일반적인 분석기 업데이트를 계속할 것입니다. 그 이후에는 새 메이저 버전의 분석기에서 새로운 버그 수정과 새로운 기능이 사용 불가능할 것이며, 유지보수 정책에 따라 보안 패치만 백포트될 것입니다.

특히 다음이 제거 사항 하며 GitLab 15.0 이후로 더 이상 업데이트되지 않을 것입니다: - API Security: 버전 1 - Container Scanning: 버전 4 - Coverage-guided fuzz testing: 버전 2 - Dependency Scanning: 버전 2 - Dynamic Application Security Testing (DAST): 버전 2 - Infrastructure as Code (IaC) Scanning: 버전 1 - License Scanning: 버전 3 - Secret Detection: 버전 3 - Static Application Security Testing (SAST): 모든 분석기의 버전 2 (지원되는 언어 및 프레임워크 참조) - bandit: 버전 2 - brakeman: 버전 2 - eslint: 버전 2 - flawfinder: 버전 2 - gosec: 버전 3 - kubesec: 버전 2 - mobsf: 버전 2 - nodejs-scan: 버전 2 - phpcs-security-audit: 버전 2 - pmd-apex: 버전 2 - security-code-scan: 버전 2 - semgrep: 버전 2 - sobelow: 버전 2 - spotbugs: 버전 2

Sidekiq 메트릭 및 헬스체크 구성

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 문제를 참조하세요.

단일 프로세스 및 포트를 사용하여 Sidekiq 메트릭 및 헬스체크 내보내기가 폐기되었습니다. 안정성과 가용성을 향상시키고 극단적인 상황에서 데이터 손실을 방지하기 위해 15.0에서 Sidekiq를 업데이트하여 두 개의 별도 프로세스에서 메트릭 및 헬스체크를 내보냅니다. 이들이 두 개의 별도 서버이기 때문에 15.0에서 메트릭 및 헬스체크에 대해 별도의 포트를 명시적으로 설정해야 합니다. sidekiq['health_checks_*']을 위한 새로 도입된 설정은 항상 gitlab.rb에 설정해야 합니다. 자세한 내용은 Sidekiq 구성 문서를 확인하세요.

이 변경으로 Prometheus나 k8s 헬스체크에서 새 엔드포인트를 스크랩하거나 정상적으로 작동하려면 새 헬스체크 포트를 대상으로 해야 합니다. 그렇지 않으면 메트릭이나 헬스체크 중 하나가 사라질 수 있습니다.

폐기 기간 동안 이러한 설정은 선택 사항이며 GitLab은 기본적으로 Sidekiq 헬스체크 포트를 sidekiq_exporter의 동일한 포트로 설정하고 하나의 서버만 실행합니다(현재 동작 변경 없음). 둘 다 설정되어 다른 포트가 제공되는 경우에만 별도의 메트릭 서버가 실행되어 Sidekiq 메트릭을 제공하고, 이는 Sidekiq가 15.0에서 동작할 것과 유사합니다.

</div>

정적 사이트 편집기

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 제거 예정
  • 이 변경 사항에 대한 토론이나 자세한 내용은 폐기 문제를 참조하세요.

정적 사이트 편집기는 GitLab 15.0에서 더 이상 사용할 수 없게 될 것입니다. GitLab 전반에 걸쳐 Markdown 편집 경험을 개선함으로써 더 넓은 범위로 비슷한 이점을 제공할 것입니다. 정적 사이트 편집기로 들어오는 요청은 웹 IDE로 리디렉션될 것입니다.

정적 사이트 편집기를 현재 사용 중인 사용자는 기존 프로젝트에서 구성 파일을 제거하는 방법을 포함하여 자세한 정보를 보려면 문서를 참조할 수 있습니다.

SLES 12 SP2 지원

  • GitLab 14.5에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)

SUSE Linux Enterprise Server (SLES) 12 SP2의 장기 서비스 및 지원(LTSS)은 2021년 3월 31일에 종료되었습니다. SP2의 CA 인증서에 만료된 DST 루트 인증서가 포함되어 있으며 새로운 CA 인증서 패키지 업데이트를 받지 않고 있습니다. 우리는 몇 가지 임시 방안을 시행했지만 빌드를 계속하여 정상적으로 유지할 수 없게 될 것입니다.

Gitaly와 GitLab의 나머지 사이에 배포된 gRPC-aware 프록시 지원

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)

권장되지는 않지만 Gitaly와 GitLab의 나머지 사이에 gRPC-aware 프록시를 배포하는 것이 가능했습니다. 예를 들어, NGINX 및 Envoy. gRPC-aware 프록시를 배포하는 능력은 폐기되었습니다. 현재 gRPC-aware 프록시를 사용 중이라면 프록시 구성을 변경하여 TCP 또는 TLS 프록시(OSI 레이어 4)를 사용하도록 변경해야 합니다.

Gitaly Cluster는 GitLab 13.12에서 gRPC-aware 프록시와 호환되지 않게 되었습니다. 이제 모든 GitLab 설치는 gRPC-aware 프록시와 호환되지 않게 되었습니다(Gitaly Cluster 없이도).

일부 내부 RPC 트래픽을 gRPC가 아닌 사용자 정의 프로토콜을 통해 보내어 처리량을 증가시키고 Go 가비지 수집 지연 시간을 줄일 수 있습니다. 자세한 정보는 해당 epic을 참조하세요.

프로젝트 CI/CD 설정에서의 테스트 커버리지

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)

테스트 커버리지 구문을 간단히 설정하기 위해, GitLab 15.0에서는 프로젝트 설정에서의 테스트 커버리지 구문 구문 파싱 이 제거될 예정입니다.

대신, 프로젝트의 .gitlab-ci.yml에서 coverage 키워드와 함께 정규 표현식을 제공하여 병합 요청에서 테스트 커버리지 결과를 설정하세요.

</div>

GitLab에서의 추적

GitLab에서의 추적은 Jaeger와의 통합으로, 오픈 소스의 end-to-end 분산 추적 시스템입니다. GitLab 사용자는 Jaeger 인스턴스로 이동하여 배포된 애플리케이션의 성능을 파악하고, 주어진 요청을 처리하는 각 기능 또는 마이크로서비스를 추적할 수 있습니다. GitLab에서의 추적은 GitLab 14.7에서 제외되었으며 15.0에서 제거될 예정입니다. 대체 가능성에 대한 작업을 추적하려면 GitLab과 Opstrace 통합 문제를 참조하세요.

컨테이너 레지스트리 그룹 수준 API 업데이트

마일스톤 15.0에서, 그룹에서 레지스트리 리포지토리를 가져오는 컨테이너 레지스트리 API의 tagstags_count 매개변수 지원이 제거될 예정입니다.

GET /groups/:id/registry/repositories 엔드포인트는 유지되지만, 태그에 대한 정보를 반환하지 않습니다. 태그 정보를 얻으려면 현재처럼 GET /registry/repositories/:id 엔드포인트를 사용할 수 있으며, 이는 이미지 리포지토리당 한 번 호출해야 합니다.

가치 스트림 분석 필터링 계산 변경

가치 스트림 분석에서 날짜 필터 작동 방식을 변경하고 있습니다. 이제 이슈나 병합 요청이 생성된 시간이 아닌, 주어진 단계의 종료 이벤트 시간으로 필터링됩니다. 이 변경 후에 완전히 다른 숫자가 나타납니다.

가치 스트림 분석 메트릭을 모니터링하고 날짜 필터에 의존하는 경우, 데이터 손실을 피하려면 이 변경 사항 이전의 데이터를 저장해야 합니다.

취약점 점검

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)

취약점 점검 기능이 GitLab 14.8에서 사용 중지되었으며, GitLab 15.0에서 제거될 예정입니다. 대신 새 보안 승인 기능으로 마이그레이션할 것을 권장합니다. 이를 위해 보안 및 규정 > 정책으로 이동하여 새 스캔 결과 정책을 생성하세요.

새 보안 승인 기능은 취약점 점검과 유사합니다. 예를 들어, 둘 다 보안 취약점을 포함한 MR에 대해 승인이 필요합니다. 그러나 보안 승인은 다음과 같은 여러 가지 측면에서 이전의 경험을 개선합니다:

  • 사용자는 누가 보안 승인 규칙을 편집할 수 있는지 선택할 수 있습니다. 따라서 독립적인 보안이나 규정 팀은 개발 프로젝트 유지자가 규칙을 수정하는 것을 방지하는 방식으로 규칙을 관리할 수 있습니다.
  • 여러 규칙을 만들고 연결하여 각 스캐너 유형의 서로 다른 심각도 임계값에 대해 필터링할 수 있습니다.
  • 원하는 변경에 대해 두 단계의 승인 프로세스를 강제할 수 있습니다.
  • 단일 보안 정책 집합을 여러 개발 프로젝트에 적용하여 단일 중앙 집중식 규칙 집합을 유지하도록 허용합니다.

기본 PackageType에 대한 Versions

  • GitLab 14.5에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 사항 문제를 참조하십시오.

Package Registry GraphQL API를 만드는 작업의 일환으로, 패키지 그룹은 기본 PackageType 유형의 Version 유형을 폐지하고 PackageDetailsType로 옮겼습니다.

15.0의 마일스톤에서 VersionPackageType에서 완전히 제거할 것입니다.

</div>

artifacts:reports:cobertura 키워드

  • GitLab 14.7에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 사항 문제를 참조하십시오.

현재, GitLab의 테스트 커버리지 시각화는 Cobertura 리포트만 지원합니다. 15.0부터 artifacts:reports:cobertura 키워드는 artifacts:reports:coverage_report로 바뀔 것입니다. Cobertura는 15.0에선 유일하게 지원되는 리포트 파일이지만, 이것은 GitLab이 다른 리포트 타입을 지원하기 위한 첫 번째 단계입니다.

defaultMergeCommitMessageWithDescription GraphQL API 필드

  • GitLab 14.5에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 사항 문제를 참조하십시오.

GraphQL API 필드 defaultMergeCommitMessageWithDescription이 폐지되며 GitLab 15.0에서 제거될 것입니다. 커밋 메시지 템플릿이 설정된 프로젝트의 경우 템플릿은 무시됩니다.

dependency_proxy_for_private_groups 기능 플래그

  • GitLab 14.5에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 사항 문제를 참조하십시오.

우리는 GitLab-#11582로 인해 public group이 Dependency Proxy를 사용하는 방법이 변경되었기 때문에 기능 플래그를 추가했습니다. 이 변경 이전에는 인증 없이 Dependency Proxy를 사용할 수 있었습니다. 이 변경으로 Dependency Proxy를 사용하려면 인증이 필요합니다.

15.0의 마일스톤에서 우리는 기능 플래그를 완전히 제거할 것입니다. 앞으로 Dependency Proxy를 사용할 때는 반드시 인증해야 합니다.

version 필드의 pipelines

  • GitLab 14.5에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)
  • 이 변경 사항에 대해 토론하거나 자세히 알아보려면 폐지 사항 문제를 참조하십시오.

GraphQL에서는 PackageDetailsType에서 패키지 버전의 파이프라인을 가져오기 위해 사용할 수 있는 두 가지 pipelines 필드가 있습니다:

  • versions 필드의 pipelines 필드입니다. 이것은 패키지의 모든 버전과 관련된 모든 파이프라인을 반환하는데, 메모리에 무제한 수의 객체를 가져와 성능 문제를 일으킬 수 있습니다.
  • 특정 versionpipelines 필드입니다. 이것은 해당 단일 패키지 버전과 관련된 파이프라인만 반환합니다.

가능한 성능 문제를 완화하기 위해 마일스톤 15.0에서 versions 필드의 pipelines 필드를 제거할 것입니다. 패키지의 모든 버전에 대한 모든 파이프라인을 더 이상 가져올 수 없지만, 해당 버전의 패키지의 파이프라인은 남아 있는 pipelines 필드를 통해 여전히 가져올 수 있습니다.

PipelineSecurityReportFindingprojectFingerprint GraphQL에서

  • GitLab 14.8에서 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)

PipelineSecurityReportFinding GraphQL 객체의 projectFingerprint 필드가 폐기 예정입니다. 이 필드에는 고유성을 결정하는 보안 결과의 “지문”이 포함되어 있습니다. 지문을 계산하는 방법이 변경되어 다른 값이 생성되었습니다. 앞으로는 새로운 값이 UUID 필드에 노출될 것입니다. 이전에 projectFingerprint 필드에서 이용되던 데이터는 최종적으로 완전히 제거될 것입니다.

gitlab-ctlpromote-db 명령

  • GitLab 14.5에 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)
  • 이 변경에 대해 토론하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

GitLab 14.5에서 gitlab-ctl promote 명령을 도입하여 Geo 보조 노드를 장애 조치(failover) 중에 기본(primary)으로 승격시킬 수 있게 되었습니다. 이 명령은 멀티 노드 Geo 보조 사이트에서 데이터베이스 노드를 승격시키기 위해 사용된 gitlab-ctl promote-db를 대체합니다. gitlab-ctl promote-db는 현재상태 그대로 동작하고 GitLab 15.0까지 사용 가능합니다. Geo 고객들은 신규 명령어인 gitlab-ctl promote을 스테이징 환경에서 테스트하고 장애 조치 절차에 새 명령어를 통합하는 것을 권장합니다.

gitlab-ctlpromote-to-primary-node 명령

  • GitLab 14.5에 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)
  • 이 변경에 대해 토론하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

GitLab 14.5에서 gitlab-ctl promote 명령을 도입하여 모든 Geo 보조 노드를 장애 조치(failover) 중에 기본으로 승격시킬 수 있게 되었습니다. 이 명령은 단일 노드 Geo 사이트에만 사용되던 gitlab-ctl promote-to-primary-node을 대체합니다. gitlab-ctl promote-to-primary-node는 현재상태 그대로 동작하고 GitLab 15.0까지 사용 가능합니다. Geo 고객들은 신규 명령어인 gitlab-ctl promote을 스테이징 환경에서 테스트하고 장애 조치 절차에 새 명령어를 통합하는 것을 권장합니다.

CI/CD 구성에서 typetypes 키워드

typetypes CI/CD 키워드가 GitLab 15.0에서 제거될 예정입니다. 이러한 키워드를 사용하는 파이프라인은 동작을 중지하므로 stagestages로 전환해야 합니다. 이 두 개념은 동일한 동작을 합니다.

apiFuzzingCiConfigurationCreate GraphQL 변이

  • GitLab 14.6에 발표됨
  • GitLab 15.0에서 제거됨 (breaking change)
  • 이 변경에 대해 토론하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

API Fuzzing 구성 스니펫은 이제 클라이언트 측에서 생성되며 API 요청이 더 이상 필요하지 않습니다. 따라서 더 이상 GitLab에서 사용되지 않는 apiFuzzingCiConfigurationCreate 변이를 폐기합니다.

bundler-audit 의존성 스캔 도구

  • GitLab 14.6에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)
  • 이 변경사항에 대해 토론하거나 자세히 알아보려면 폐기 관련 이슈를 참조하세요.

버전 14.6부로 bundler-audit가 의존성 스캔에서 사용되지 않을 예정입니다. 버전이 올라감에 따라 CI/CD 템플릿에는 여전히 포함되지만 사용이 중단될 예정입니다. bundler-audit는 2022년 5월 22일자로 15.0에서 의존성 스캔에서 제거될 예정입니다. 이후에는 Ruby 스캔 기능에 영향을 미치지 않을 것입니다.

만약 DS_EXCLUDED_ANALYZERS를 사용하여 명시적으로 bundler-audit를 제외시켰다면, 15.0에서 이를 정리(참조를 제거)해야 합니다. bundler-audit에 대한 특정한 템플릿을 사용한 적 없거나 파이프라인의 의존성 스캔 구성을 사용자 정의한 경우(예: bundler-audit-dependency_scanning 작업 편집 등), 15.0에서의 제거를 방지하기 위해 제거 전에 gemnasium-dependency_scanning으로 전환해야 합니다. bundler-audit를 참조로 사용하지 않았거나 특별히 bundler-audit를 위해 템플릿을 사용자 지정하지 않은 경우에는 조치할 필요가 없습니다.

</div>

컨테이너 레지스트리를 위한 htpasswd 인증

  • GitLab 14.9에서 발표됨
  • GitLab 15.0에서 제거 예정 (breaking change)

컨테이너 레지스트리는 htpasswd를 사용한 인증을 지원합니다. 이는 bcrypt를 사용하여 암호화된 Apache htpasswd 파일에 의존합니다.

GitLab(제품)의 맥락에서 사용되지 않기 때문에, htpasswd 인증은 GitLab 14.9에서는 사용이 중단되고 GitLab 15.0에서는 제거될 예정입니다.

</div>

GitLab 14.10

Composer 종속성 다운로드를 위한 권한 변경

  • GitLab 14.9에서 발표됨
  • GitLab 14.10에서 제거 예정 (breaking change)

GitLab Composer 저장소를 사용하여 PHP 종속성에 대한 푸시, 검색, 메타데이터 가져오기 및 다운로드가 가능합니다. 이러한 모든 작업에는 인증이 필요하지만, 종속성을 다운로드할 때는 인증이 필요하지 않습니다.

GitLab 14.9에서는 인증 없이 Composer 종속성을 다운로드하는 것이 사용이 중단되며, GitLab 15.0에서 제거될 예정입니다. GitLab 15.0부터는 Composer 종속성을 다운로드하려면 인증해야 합니다.

GitLab 14.9

구성 가능한 Gitaly per_repository 선거 전략

  • GitLab 14.8에서 발표됨
  • GitLab 14.9에서 제거될 예정
  • 이 변경사항에 대해 토론하거나 자세히 알아보려면 폐기 관련 이슈를 참조하세요.

per_repository Gitaly 선거 전략을 구성하는 것은 사용 안 함으로 표시됨 per_repository는 GitLab 14.0 이후로 유일한 옵션이었습니다.

이 변경은 코드베이스를 청소하고 유지하기 위한 일환입니다.

기본으로 비활성화된 통합 오류 추적

  • GitLab 14.9에서 발표됨
  • GitLab 14.9에서 제거될 예정 (breaking change)
  • 이 변경사항에 대해 토론하거나 자세히 알아보려면 폐기 관련 이슈를 참조하세요.

GitLab 14.4에서 GitLab은 Sentry를 대체하는 통합 오류 추적 백엔드를 출시했습니다. 이 기능은 데이터베이스 성능 문제를 일으켰습니다. GitLab 14.9에서는 통합 오류 추적이 GitLab.com에서 제거되었으며, GitLab Self-Managed에서는 기본적으로 비활성화되었습니다. 이 기능의 미래 개발을 탐구하는 동안 프로젝트 설정에서 Sentry 오류 추적으로 변경하는 것을 고려해주십시오.

이 제거에 대한 추가적인 배경에 대해서는 기본으로 통합 오류 추적 비활성화를 참조하십시오. 피드백이 있다면 통합 오류 추적 제거 피드백에 댓글을 추가해 주세요.

GitLab 14.8

openSUSE Leap 15.2 packages

  • GitLab 14.5에서 발표됨
  • GitLab 14.8에서 제거됨
  • 이 변경사항에 대해 토론하거나 자세히 알아보려면 폐기 이슈를 참조하세요.

openSUSE Leap 15.2의 배포 지원 및 보안 업데이트는 2021년 12월에 종료됩니다.

14.5에서 openSUSE Leap 15.3용 패키지를 제공하기 시작하며, 14.8에서 openSUSE Leap 15.2용 패키지 제공을 중단할 것입니다.

GitLab 14.6

Release CLI distributed as a generic package

  • GitLab 14.2에서 발표됨
  • GitLab 14.6에서 제거됨

release-cli은 GitLab 14.2부터 일반 패키지로 출시될 것입니다. 우리는 이를 GitLab 14.5에서는 S3에 이진 파일로 계속 배포할 것이며, GitLab 14.6에서는 S3에서의 배포를 중단할 것입니다.

GitLab 14.5

Rename Task Runner pod to Toolbox

  • GitLab 14.2에서 발표됨
  • GitLab 14.5에서 제거됨

작업 실행기 팟은 GitLab 애플리케이션 내에서 주기적인 정리 작업을 실행하는 데 사용되며 종종 GitLab Runner와 혼동됩니다. 따라서 작업 실행기는 Toolbox로 이름이 변경될 것입니다.

이로 인해 하위 차트가 gitlab/task-runner에서 gitlab/toolbox로 이름이 변경됩니다. 결과적으로 생성된 팟은 {{ .Release.Name }}-toolbox와 같은 형식으로 명명될 것이며 자주 gitlab-toolbox가 될 것입니다. 이들은 app=toolbox 라벨로 식별할 수 있을 것입니다.

이 페이지에는 예정된 제품, 기능 및 기능에 관련된 정보가 포함되어 있습니다. 제시된 정보는 정보를 제공하는 목적으로만 사용되었음을 강조하는 것이 중요합니다. 구매 또는 계획 목적으로 이 정보를 신뢰하지 마십시오. 이 페이지에 언급된 모든 항목은 모든 프로젝트와 마찬가지로 변경되거나 지연될 수 있습니다. 제품, 기능 또는 기능의 개발, 발매 및 타이밍은 GitLab Inc.의 전적 재량에 따라 결정됩니다.