버전별 deprecation 및 제거

다음의 GitLab 기능은 deprecation되었으며 더 이상 사용을 권장하지 않습니다.

  • 각 deprecation된 기능은 향후 릴리스에서 제거될 예정입니다.
  • 일부 기능은 제거되면 파괴적인 변화를 일으킬 수 있습니다.
  • GitLab.com에서 deprecation된 기능은 릴리스 하루 전부터 언제든지 제거될 수 있습니다.

이 deprecation 정보를 심화 검색 및 필터링하려면 우리 고객 성공팀이 프로덕션한 도구를 사용해보세요.

REST API deprecationsGraphQL deprecations은 별도로 문서화되어 있습니다.

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

## GitLab 18.0
### Atlassian Crowd OmniAuth provider
- GitLab 15.3에서 발표됨 - GitLab 18.0에서 제거될 예정 ([파괴적인 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용을 알아보려면 [deprecation 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/369117)를 확인하세요.
Atlassian Crowd OmniAuth 제공자를 GitLab에서 제거할 것입니다. 전체 큰 릴리스인 GitLab 18.0에서 이 gem은 거의 사용되지 않고 있으며, OmniAuth 2.0과의 [호환성 문제](https://github.com/robdimarco/omniauth_crowd/issues/37)로 [저희의 업그레이드를 방해](https://gitlab.com/gitlab-org/gitlab/-/issues/30073)하고 있습니다.
### 보호된 변수 및 다중 프로젝트 파이프라인에 대한 동작 변경
- GitLab 16.10에서 발표됨 - GitLab 18.0에서 제거될 예정 ([파괴적인 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용을 알아보려면 [deprecation 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/432328)를 확인하세요.
어떤 경우에는 프로젝트에 충분한 권한을 가진 사용자가 보호된 변수를 안전하지 않은 프로젝트로 전송할 수 있었는데, 이 변경 사항은 보호된 변수 값이 노출될 가능성을 최소화하는 보안 개선 사항입니다. [다운스트림 파이프라인으로 CI/CD 변수를 전달](https://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html#pass-cicd-variables-to-a-downstream-pipeline)하는 것은 일부 워크플로우에 유용하지만, [보호된 변수](https://docs.gitlab.com/ee/ci/variables/#protect-a-cicd-variable)는 추가적인 주의가 필요합니다. 이들은 특정 보호 브랜치나 태그에서만 사용되도록 의도되어 있습니다. GitLab 18.0에서 변수 전달이 업데이트되어 보호된 변수가 다음과 같은 구체적인 상황에서만 전달되도록 보장됩니다: - 프로젝트 수준의 보호된 변수는 동일 프로젝트(하위 파이프라인)의 다운스트림 파이프라인으로만 전달될 수 있습니다. - 그룹 수준의 보호된 변수는 소스 프로젝트와 동일한 그룹에 속한 프로젝트의 다운스트림 파이프라인으로만 전달될 수 있습니다. 파이프라인이 보호된 변수를 전달하는 데 의존하는 경우 구성을 업데이트하여 위의 두 옵션에 부합하거나 보호된 변수를 전달하지 않도록 업데이트하세요.
### 기본 CI/CD 작업 토큰 (`CI_JOB_TOKEN`) 범위 변경
- GitLab 15.9에서 발표됨 - GitLab 18.0에서 제거될 예정 ([파괴적인 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용을 알아보려면 [deprecation 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/383084)를 확인하세요.
GitLab 14.4에서 당신 프로젝트의 CI/CD 작업 토큰([프로젝트의 job 토큰 액세스 제한](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#limit-your-projects-job-token-access))을 제한하는 기능을 소개했습니다. 이 기능을 사용하면 **당신의 프로젝트의** 파이프라인이 **다른 프로젝트에 액세스하는 것을 방지**할 수 있습니다. 기타 구성이 없는 상태에서 이 기능을 활성화하면 파이프라인은 다른 프로젝트에 액세스할 수 없습니다. 당신의 프로젝트에서 다른 프로젝트에 액세스하는 데 job 토큰을 사용하려면 액세스를 허용하는 **프로젝트 디렉터리**을 명시적으로 나열하고 모든 프로젝트에서 유지자여야 합니다. 이 작업 토큰 기능은 15.9에서 더 나은 보안 설정으로 업데이트되어 [작업 토큰을 사용하여 프로젝트에 액세스할 수 있도록](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#add-a-project-to-the-job-token-allowlist) 했습니다. 이 기능을 활성화하면 기타 프로젝트의 작업 토큰이 **당신의 프로젝트에 액세스할 수 없습니다**. 이전 설정과 유사하게, **허용 설정을 위해 다른 프로젝트가 명시적으로 당신의 프로젝트에 액세스하도록**할 수 있습니다. 이 새로운 설정에서는 당신의 프로젝트에서는 유지자여야 하지만 다른 프로젝트에서는 Guest 역할만 있으면 됩니다. 16.0에서 **Limit** 설정은 **Allow access** 설정을 선호하여 deprecated되었으며, **Limit** 설정은 모든 새 프로젝트에 대해 기본적으로 비활성화되었습니다. 이후, **Limit** 설정이 비활성화되어 있으면 16.0 이후에 이 설정을 다시 활성화할 수 없습니다. 18.0에서는 **Limit** 설정을 완전히 제거하고 모든 프로젝트에 대해 **Allow access** 설정을 활성화합니다. 이 변경은 프로젝트 간 보다 높은 수준의 보안을 보장합니다. 현재 **Limit** 설정을 사용 중이면 프로젝트를 **Allow access** 설정을 사용하도록 업데이트해야 합니다. 다른 프로젝트가 job 토큰을 사용하여 당신의 프로젝트에 액세스하는 경우 **Allow access** 허용 디렉터리에 추가해야 합니다. 이 변경에 대비하기 위해, GitLab.com이나 Self-managed GitLab 15.9 이상 버전의 사용자는 **Allow access** 설정을 지금 활성화하고 다른 프로젝트를 추가할 수 있습니다. 18.0 이후에는 이 설정을 비활성화할 수 없게 됩니다. 16.3에서 이러한 설정의 이름이 명확하게 하기 위해 변경되었습니다: depreacted 된 **Limit CI_JOB_TOKEN access** 설정은 이제 **Limit access _from_ this project**로, 새로운 **Allow access to this project with a CI_JOB_TOKEN** 설정은 이제 **Limit access _to_ this project**로 불립니다.
### License Scanning CI/CD artifact 보고서 유형의 사용 중단
- GitLab 16.9에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [사용 중단 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/439301)를 참조하세요.
CI/CD [artifact report](https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html) 유형이 GitLab 16.9에서 사용 중단되었으며, GitLab 18.0에서 제거될 예정입니다. 이 키워드를 사용한 CI/CD 구성은 GitLab 18.0에서 작동을 중지합니다. 이제 더 이상 artifact 보고서 유형이 사용되지 않습니다. 이는 GitLab 16.3에서 레거시 License Scanning CI/CD 작업이 제거된 결과입니다. 대신 [CycloneDX 파일의 라이선스 스캔](https://docs.gitlab.com/ee/user/compliance/license_scanning_of_cyclonedx_files/)을 사용해야 합니다.
### Terraform CI/CD 템플릿의 사용 중단
- GitLab 16.9에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [사용 중단 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/438010)를 참조하세요.
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 컴포넌트를 사용하거나 Self-managed에서 새로운 OpenTofu CI/CD 템플릿을 사용하는 것을 권장합니다. CI/CD 컴포넌트는 아직 GitLab Self-managed에는 없지만, [이슈 #415638](https://gitlab.com/gitlab-org/gitlab/-/issues/415638)에서 이 기능을 추가하도록 제안하고 있습니다. 만약 CI/CD 컴포넌트가 Self-managed에 추가되면 OpenTofu CI/CD 템플릿은 제거될 예정입니다. 새로운 OpenTofu CI/CD 컴포넌트에 대해 더 읽어보세요 [여기](https://gitlab.com/components/opentofu).
### 라이선스 메타데이터 형식 V1 사용 중단
- GitLab 16.9에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [사용 중단 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/438477)를 참조하세요.
라이선스 메타데이터 형식 V1 데이터셋이 사용 중단되어 GitLab 18.0에서 제거될 예정입니다. `package_metadata_synchronization` 피처 플래그를 활성화한 사용자는 GitLab 16.3 이상 버전으로 업그레이드하고 피처 플래그 구성을 제거하는 것이 좋습니다.
### Runner Operator에서의 GitLab Runner 등록 토큰
- GitLab 15.6에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [사용 중단 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/382077)를 참조하세요.
Kubernetes에서 Runner를 설치하기 위해 OpenShift 및 Kubernetes Vanilla Operator를 사용하는 [`runner-registration-token`](https://docs.gitlab.com/runner/install/operator.html#install-the-kubernetes-operator) 매개변수가 사용 중단되었습니다. 대신 인증 토큰을 사용하여 러너를 등록할 예정이며, 인증 토큰과 특정 구성 인수에 대한 지원은 GitLab 18.0에서 제거될 예정입니다. 더 자세한 정보는 [새로운 러너 등록 워크플로로 마이그레이션하기](../ci/runners/new_creation_workflow.md)를 참조하세요. 인증 토큰을 사용해야 하는 구성 인수는 다음과 같습니다: - `--locked` - `--access-level` - `--run-untagged` - `--tag-list` 이 변경은 중요한 변경으로, `gitlab-runner register` 명령어에서 [인증 토큰](https://docs.gitlab.com/ee/ci/runners/runners_scope.html)을 사용해야 합니다.
### 컨테이너 레지스트리 리포지터리 태그 API 엔드포인트 페이지네이션
- GitLab 16.10에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [사용 중단 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/432470)를 참조하세요.
컨테이너 레지스트리 REST API를 사용하여 [레지스트리 리포지터리 태그 디렉터리을 가져올](https://docs.gitlab.com/ee/api/container_registry.html#list-registry-repository-tags) 수 있습니다. 이 엔드포인트를 개선하여 더 많은 메타데이터 및 정렬 및 필터링을 포함한 새로운 기능을 추가할 계획입니다. 이미 이 엔드포인트에서는 offset-based 페이지네이션이 가능했지만, GitLab 16.10에서는 GitLab.com에서만 keyset-based 페이지네이션이 [도입](https://gitlab.com/gitlab-org/gitlab/-/issues/432470)되었습니다. 이제 이를 사용하는 것을 권장하는 페이지네이션 방법입니다. GitLab 16.10에서 offset-based 페이지네이션은 사용 중단되며 18.0에서 제거될 예정입니다. 대신 keyset-based 페이지네이션을 사용하세요.
### `gitlab-runner register` 명령에서의 등록 토큰 및 서버 측 러너 인수
- GitLab 15.6에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/380872)를 참조하세요.
`gitlab-runner register` 명령을 통해 러너를 [등록](https://docs.gitlab.com/runner/register/)하는 과정에서, 등록 토큰 및 특정 구성 인수가 사용 중지되었습니다. 인증 토큰을 사용하여 러너를 등록할 것입니다. 등록 토큰 및 특정 구성 인수의 지원은 GitLab 18.0에서 제거될 것입니다. 더 많은 정보는 [새로운 러너 등록 워크플로우로 이관](../ci/runners/new_creation_workflow.md)를 참조하세요. 인증 토큰으로 비활성화된 구성 인수는 다음과 같습니다: - `--locked` - `--access-level` - `--run-untagged` - `--maximum-timeout` - `--paused` - `--tag-list` - `--maintenance-note` 이 변경 사항은 파괴적인 변경 사항입니다. 구성을 추가하려면 [UI에서 러너를 생성](https://docs.gitlab.com/ee/ci/runners/runners_scope.html)하고, `gitlab-runner register` 명령에서 인증 토큰을 사용하세요.
### 단일 데이터베이스 실행이 제거 예정
- GitLab 16.1에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/411239)를 참조하세요.
GitLab 18.0부터는 [CI 기능을 위한 별도의 데이터베이스](https://gitlab.com/groups/gitlab-org/-/epics/7509)가 필요할 것입니다. 대부분의 배포에서 관리 편의성을 위해 두 데이터베이스를 동일한 Postgres 인스턴스(들)에서 실행하는 것을 권장합니다. 이는 정보를 미리 제공하는 통보일 뿐이며 아직 조치를 취하도록 권장하지는 않습니다. 이전 마이그레이션 프로세스를 시작할 것을 권장하는 다른 업데이트 및 제거 통보가 있을 것입니다. 이 변경 사항은 GitLab.com과 같은 대규모 GitLab 인스턴스를 위한 추가적인 확장성을 제공합니다. 이 변경 사항은 Omnibus GitLab, GitLab Helm 차트, GitLab Operator, GitLab Docker 이미지 및 소스에서의 모든 설치 방법에 적용됩니다. GitLab 18.0으로 업그레이드하기 전에 반드시 [두 개의 데이터베이스로 마이그레이션](https://docs.gitlab.com/ee/administration/postgresql/multiple_databases.html)을 완료했는지 확인하세요.
### 쿠버네티스와의 Self-managed 인증 기반 통합
- GitLab 14.5에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/groups/gitlab-org/configure/-/epics/8)를 참조하세요.
쿠버네티스와의 인증 기반 통합이 [제거 예정 및 제거될 것](https://about.gitlab.com/blog/2021/11/15/deprecating-the-cert-based-kubernetes-integration/)입니다. Self-managed 고객으로서, GitLab 15.0에서 [피처 플래그](../administration/feature_flags.md#enable-or-disable-the-feature) `certificate_based_clusters`를 도입하여 인증 기반 통합을 유지할 수 있습니다. 그러나 피처 플래그는 기본적으로 비활성화되므로, 이 변경은 **파괴적인 변경**입니다. GitLab 18.0에서 이 기능 및 관련 코드를 모두 제거할 것입니다. 피처 플래그를 활성화하면 이 통합을 사용하는 기능은 제거가 될 때까지 계속 작동할 것입니다. 이 기능이 제거될 때까지, GitLab은 계속해서 발생하는 보안 및 중요한 문제를 해결할 것입니다. 쿠버네티스와의 더 견고하고 안전하며 신뢰할 수 있는 통합을 위해, 쿠버네티스 클러스터를 GitLab과 연결하기 위해 [쿠버네티스 에이전트](https://docs.gitlab.com/ee/user/clusters/agent/)를 사용할 것을 권장합니다. [어떻게 마이그레이션하나요?](https://docs.gitlab.com/ee/user/infrastructure/clusters/migrate_to_gitlab_agent.html) 명시적인 제거 날짜가 설정되었지만, 이 기능이 새로운 솔루션과 기능 동등성이 달성될 때까지 제거할 계획은 없습니다. 제거에 대한 차단 요소에 대한 자세한 정보는 [이 이슈](https://gitlab.com/gitlab-org/configure/general/-/issues/199)를 참조하세요. 이 제거에 대한 업데이트 및 자세한 내용은 [이 이픽](https://gitlab.com/groups/gitlab-org/configure/-/epics/8)을 팔로우하세요.
### Slack 알림 통합
- GitLab 15.9에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/435909)를 참조하세요.
우리는 Slack 기능을 모두 GitLab for Slack 앱으로 통합함에 따라 Slack 알림 통합을 제거하기로 결정했습니다. Slack 워크스페이스에 대한 알림 관리에는 GitLab for Slack 앱을 사용하세요.
### 러너 등록 토큰을 재설정하는 REST API 엔드포인트 지원
- GitLab 15.7에서 발표됨 - GitLab 18.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/383341)를 참조하세요.
러너 등록 토큰의 지원이 취소되었습니다. 따라서, 러너 등록 토큰을 재설정하는 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 러너 토큰 아키텍처](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html)의 일환으로, 러너를 GitLab 인스턴스에 바인딩하기 위한 새로운 방법을 구현할 계획입니다. 이 작업은 [이 이픽](https://gitlab.com/groups/gitlab-org/-/epics/7633)에서 계획되어 있습니다. 이 새 아키텍처는 새로운 GitLab 러너 토큰 아키텍처에 구현된 러너 등록 방법으로, GitLab 18.0 및 이후에서 이 방법만 지원될 것입니다.
### `Project.services` GraphQL 필드가 사용되지 않음
- GitLab 15.9에서 발표됨 - GitLab 18.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대한 토론이나 자세한 내용을 알아보려면 [사용되지 않음 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/388424)를 확인하세요.
`Project.services` GraphQL 필드가 사용되지 않습니다. 대신 [이슈 389904](https://gitlab.com/gitlab-org/gitlab/-/issues/389904)에서 `Project.integrations` 필드가 제안되었습니다.
### `ciJobTokenScopeRemoveProject`의 `direction` GraphQL 인자가 사용되지 않음
- GitLab 16.9에서 발표됨 - GitLab 18.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대한 토론이나 자세한 내용을 알아보려면 [사용되지 않음 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/383084)를 확인하세요.
`ciJobTokenScopeRemoveProject` 뮤테이션의 `direction` GraphQL 인자가 사용되지 않습니다. GitLab 15.9에서 발표된 [기본 CI/CD 작업 토큰 범위 변경](https://docs.gitlab.com/ee/update/deprecations.html#default-cicd-job-token-ci_job_token-scope-changed)에 따라 `direction` 인자는 GitLab 17.0에서 `INBOUND`로 기본 설정되고, `OUTBOUND`는 더 이상 유효하지 않을 것입니다. 18.0에서 `direction` 인자가 제거될 예정입니다. 프로젝트의 토큰 접근 방향을 제어하기 위해 `OUTBOUND`를 `direction` 인자와 함께 사용하는 경우, 작업 토큰을 사용하는 파이프라인에서 인증 오류가 발생할 수 있습니다. 파이프라인이 예상대로 계속 실행되도록 하려면 프로젝트의 allowlist에 다른 프로젝트를 명시적으로 [추가해야 합니다](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#add-a-project-to-the-job-token-allowlist).
### GitLab Runner Helm 차트의 `runnerRegistrationToken` 매개변수
- GitLab 15.6에서 발표됨 - GitLab 18.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대한 토론이나 자세한 내용을 알아보려면 [사용되지 않음 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/381111)를 확인하세요.
[`runnerRegistrationToken`](https://docs.gitlab.com/runner/install/kubernetes.html#required-configuration) 매개변수를 사용하여 Kubernetes에 Runner를 설치하는 GitLab Helm 차트가 사용되지 않습니다. 새로운 [GitLab Runner 토큰 아키텍처](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html)를 활용하여 Runner를 GitLab 인스턴스에 바인딩하는 새로운 방법을 구현할 계획입니다. 이 작업은 [이 에픽](https://gitlab.com/groups/gitlab-org/-/epics/7633)에서 계획되어 있습니다. GitLab 18.0 이후로, 새로운 GitLab Runner 토큰 아키텍처에 의해 도입된 Runner 등록 방법만 지원될 것입니다.

</div>

## GitLab 17.0
### 공개 프로젝트를 위한 'repository_download_operation' 감사 이벤트 유형
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대한 토론이나 자세한 내용을 알아보려면 [사용되지 않음 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/383218)를 확인하세요.
현재 데이터베이스에는 모든 프로젝트 다운로드에 대해 `repository_download_operation` 감사 이벤트 유형이 저장됩니다. 공개 프로젝트의 경우, 이 감사 이벤트는 인증되지 않은 사용자에 의해 트리거될 수 있기 때문에 감사 목적으로 가장 유용하지 않습니다. GitLab 17.0부터 `repository_download_operation` 감사 이벤트 유형은 공개 프로젝트에서만 트리거될 것입니다. 새로운 'public_repository_download_operation' 감사 이벤트 유형이 추가될 것이며, 이 새로운 감사 이벤트 유형은 스트리밍 전용입니다.
### 쿠버네티스 옵션 `ca-cert-file`가 변경됨
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대한 토론이나 자세한 내용을 알아보려면 [사용되지 않음 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/437728)를 확인하세요.
쿠버네티스 에이전트 (agentk)에서 `--ca-cert-file` 명령줄 옵션 및 해당 `config.caCert` Helm 차트 값이 `--kas-ca-cert-file` 및 `config.kasCaCert`로 이름이 변경되었습니다. 이전의 `--ca-cert-file` 및 `config.caCert` 옵션이 사용되지 않으며, GitLab 17.0에서 제거될 예정입니다.
### Herokuish에 대한 Auto DevOps 지원이 사용되지 않음
- GitLab 15.8에서 발표됨 - GitLab 17.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대한 토론이나 자세한 내용을 알아보려면 [사용되지 않음 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/211643)를 확인하세요.
Herokuish에 대한 Auto DevOps 지원은 [Cloud Native Buildpacks](https://docs.gitlab.com/ee/topics/autodevops/stages.html#auto-build-using-cloud-native-buildpacks)를 선호하는 방향으로 사용되지 않습니다. Herokuish에서 Cloud Native Buildpacks로 빌드를 [이전해야 합니다](https://docs.gitlab.com/ee/topics/autodevops/stages.html#moving-from-herokuish-to-cloud-native-buildpacks). GitLab 14.0부터 Auto Build는 기본적으로 Cloud Native Buildpacks를 사용합니다. Cloud Native Buildpacks는 자동 테스트를 지원하지 않기 때문에, Auto DevOps의 Auto Test 기능도 사용되지 않습니다.
### Autogenerated Markdown anchor links with dash (`-`) characters
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [deprecated 된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/440733)를 확인하세요.
GitLab은 모든 제목에 대해 자동으로 앵커 링크를 생성하기 때문에 마크다운 문서나 위키 페이지의 특정 위치로 링크를 걸 수 있습니다. 그러나 일부 특이한 경우에는 자동 생성된 앵커가 많은 사용자들이 기대하는 것보다 적은 대시(`-`) 문자로 생성됩니다. 예를 들어 `## Step - 1` 제목을 가진 경우, 대부분의 다른 마크다운 도구와 린터는 `#step---1`을 기대할 것입니다. 그러나 GitLab은 연속된 대시를 하나로 압축한 `#step-1` 앵커를 생성합니다. GitLab 17.0에서는 연속된 대시를 더 이상 제거하지 않고 산업 표준에 맞추기 위해 자동 생성된 앵커를 정렬할 것입니다. 따라서 17.0에서 여러 대시가 있는 제목에 대한 링크를 걸고 있다면, 이러한 특이한 경우를 피하기 위해 제목을 업데이트해야 합니다. 위의 예시처럼 `## Step - 1`을 `## Step 1`로 변경하여 페이지 내 링크가 계속 작동되도록 보장할 수 있습니다.
### `GET /projects/:id/ci/lint`에서 ref 및 sha를 함께 사용하는 것을 차단
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [deprecated 된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/430322)를 확인하세요.
모호성 문제로 인해 `GET /projects/:id/ci/lint` API 호출에서 `ref`와 `sha`를 동시에 사용하는 것이 폐기되었습니다. 이 엔드포인트로의 API 호출이 `ref` 또는 `sha` 중 하나만 사용하도록 확인하세요. GitLab 17.0에서는 동일한 호출에서 둘을 사용하는 것이 더 이상 불가능하며 올바른 ref 또는 SHA가 linted되도록 보장할 것입니다.
### Maven 리포지터리 그룹 권한에 대한 팽창적인 변경 사항
- GitLab 16.6에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [deprecated 된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/393933)를 확인하세요.
Maven 리포지터리는 특정 패키지에서 파일을 다운로드할 수 있게 하는 그룹 레벨에서 API 엔드포인트를 노출합니다. 패키지 파인더는 먼저 그룹 내에서 패키지를 찾은 다음 패키지 내에서 파일을 찾습니다. 그러나 서로 다른 프로젝트에 호스팅된 중복 패키지 이름에 영향을 주는 제한 사항이 있습니다. Maven 패키지 파인더는 항상 가장 최근의 패키지를 반환하지만, "가장 최근" 필터는 사용자 권한에 따라 다릅니다. 서로 다른 프로젝트에서 서로 다른 권한을 가진 사용자가 잘못된 Maven 패키지를 다운로드할 수 있는 가능성이 있습니다. GitLab 17.0에서 패키지 파인더 로직이 수정되어 그룹 내에 있는 패키지의 마지막으로 업데이트된 이름과 버전이 "가장 최근" 패키지가 되도록 고정될 것입니다. 사용자 권한은 가장 최근 패키지를 찾은 후에 확인될 것입니다. 이 변경 사항 이후 정상적인 권한이 없는 사용자의 다운로드 요청은 거부될 것입니다. 현재 버그가 있는 동작에 의존하는 경우, 이 수정은 breaking change를 도입할 것입니다. 변경 사항은 GitLab 16.6에서 피처 플래그 뒤에 도입될 것입니다. 귀하의 그룹에서 피처 플래그를 활성화하고 싶으시면 [이슈 393933](https://gitlab.com/gitlab-org/gitlab/-/issues/393933)에 댓글을 남겨주세요.
### CiRunner.projects 기본 정렬이 `id_desc`로 변경됩니다
- GitLab 16.0에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [deprecated 된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/372117)를 확인하세요.
`CiRunner.projects` 필드의 기본 정렬 순서 값이 `id_asc`에서 `id_desc`로 변경될 것입니다. 반환된 프로젝트의 순서에 의존하는 경우, 스크립트를 명시적으로 선택하도록 스크립트를 변경하십시오.
### CiRunnerUpgradeStatusType GraphQL 유형이 CiRunnerUpgradeStatus로 이름이 변경됩니다
- GitLab 16.0에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [deprecated 된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/409332)를 확인하세요.
`CiRunnerUpgradeStatusType` GraphQL 유형이 `CiRunnerUpgradeStatus`로 이름이 변경되었습니다. GitLab 17.0에서는 `CiRunnerUpgradeStatusType` 유형에 대한 별칭이 제거될 것입니다.
### 일반 설정의 컴플라이언스 프레임워크
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [deprecated 된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/422783)를 확인하세요.
컴플라이언스 프레임워크 관리를 [Compliance Center](https://docs.gitlab.com/ee/user/compliance/compliance_center/)의 프레임워크 및 프로젝트 보고서로 이동했습니다. 따라서 GitLab 17.0에서는 그룹 및 프로젝트의 **일반** 설정 페이지에서 컴플라이언스 프레임워크 관리를 제거합니다.
### Swift 및 OSS 리포지터리 드라이버에 대한 컨테이너 레지스트리 지원
- GitLab 16.6에서 발표됨 - GitLab 17.0에서 제거 예정 (중단 변경 사항)([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지된 이슈](https://gitlab.com/gitlab-org/container-registry/-/issues/1141)를 참조하세요.
컨테이너 레지스트리는 다양한 객체 리포지터리 플랫폼과 작업하기 위해 리포지터리 드라이버를 사용합니다. 각 드라이버의 코드는 비교적 독립적이지만, 이러한 드라이버들에 대한 유지보수 부담이 매우 큽니다. 각 드라이버 구현은 고유하며 드라이버에 변경을 가하기 위해서는 해당 드라이버에 대한 도메인 전문 지식이 필요합니다. 유지보수 비용을 줄이기 위해 우리는 OSS (Object Storage Service)와 OpenStack Swift의 지원을 폐지하고 있습니다. 이 둘은 이미 상류 Docker Distribution에서 제거되었습니다. 이를 통해 컨테이너 레지스트리를 [객체 리포지터리 지원](https://docs.gitlab.com/ee/administration/object_storage.html#supported-object-storage-providers)에 관련된 더 넓은 GitLab 제품 제공과 조율하는 데 도움이 됩니다. OSS는 [S3 호환 모드](https://www.alibabacloud.com/help/en/oss/developer-reference/compatibility-with-amazon-s3)를 갖고 있으므로, 지원되는 드라이버로 이전할 수 없는 경우에는 해당 모드를 사용하는 것을 고려해보세요. Swift는 또한 S3 리포지터리 드라이버에서 필요한 S3 API 작업과 [호환됩니다](https://docs.openstack.org/swift/latest/s3_compat.html).
### DAST ZAP 고급 구성 변수 폐지
- GitLab 15.7에서 발표됨 - GitLab 17.0에서 제거 예정 (중단 변경 사항)([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/383467)를 참조하세요.
GitLab 15.7에서 새로운 브라우저 기반 DAST 분석기 GA가 발표되어, 미래에 언젠가 기본 DAST 분석기가 될 수 있도록 노력하고 있습니다. 이에 따라, 다음 레거시 DAST 변수가 폐지되었으며 GitLab 17.0에서 제거 예정입니다: `DAST_ZAP_CLI_OPTIONS` 및 `DAST_ZAP_LOG_CONFIGURATION`. 이러한 변수들은 OWASP ZAP을 기반으로 한 레거시 DAST 분석기의 고급 구성을 허용했으나, 새로운 브라우저 기반 분석기는 동일한 기능을 포함하지 않을 것입니다. 이는 이러한 기능이 ZAP의 작동 방식에 특화되어 있기 때문입니다. 이 세 가지 변수는 GitLab 17.0에서 제거될 것입니다.
### 의존성 프록시: 추가적인 범위 확인을 위한 액세스 토큰
- GitLab 16.7에서 발표됨 - GitLab 17.0에서 제거 예정 (중단 변경 사항)([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/431386)를 참조하세요.
그룹 액세스 토큰 또는 개인 액세스 토큰을 사용하여 의존성 프록시를 위한 `docker login` 및 `docker pull` 요청이 충분한 범위로 인증되지 않을 경우 거부되지 않습니다. GitLab 17.0에서는 그룹 또는 개인 액세스 토큰이 의존성 프록시에 인증하는지 여부를 확인합니다. 이것은 중단 변경 사항입니다. 필요한 범위가 없는 토큰은 실패합니다. 이 중단 변경 사항에 영향을 받지 않도록 도와주기 위해 [필요한 범위](https://docs.gitlab.com/ee/user/packages/dependency_proxy/#authenticate-with-the-dependency-proxy)로 새로운 액세스 토큰을 생성하고, 해당 새 토큰으로 작업 변수 및 스크립트를 업데이트하세요.
### Dependency Scanning 잘못된 SBOM 메타데이터 속성
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 (중단 변경 사항)([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/438779)를 참조하세요.
GitLab 17.0에서는 CycloneDX SBOM 보고서에서 다음 메타데이터 속성을 지원하지 않게 됩니다: - `gitlab:dependency_scanning:input_file` - `gitlab:dependency_scanning:package_manager` 이 속성들은 GitLab 15.7에 추가되었지만 잘못되었으며 [GitLab CycloneDX 속성 분류 체계](https://docs.gitlab.com/ee/development/sec/cyclonedx_property_taxonomy.html)와 일치하지 않았습니다. 이에 대한 해결책으로, GitLab 15.11에 다음과 같이 정확한 속성이 추가되었습니다: - `gitlab:dependency_scanning:input_file:path` - `gitlab:dependency_scanning:package_manager:name` 잘못된 속성들은 하위 호환성을 유지하기 위해 유지되었으나, 이제 폐기되고 17.0에서 제거될 것입니다.
### sbt 1.0.X의 Dependency Scanning 지원
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 제거 예정 (중단 변경 사항)([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지된 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/415835)를 참조하세요.
sbt의 매우 오래된 버전을 지원하고 있는 것은 유지보수 비용을 증가시키지 않고도 이 패키지 관리자의 추가적인 사용 사례 지원을 향상하는 것을 방해하고 있습니다. sbt 1.1.0 버전은 6년 전에 릴리스되었으며, Dependency Scanning은 더 이상 1.0.x에서 작동하지 않을 것입니다.
### 임시 리포지터리 용량 증가와 관련된 GraphQL 필드를 폐지합니다
- GitLab 16.7에서 발표됨 - GitLab 17.0에서 제거됨 - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/385720)를 참조하십시오.
GraphQL 필드 `isTemporaryStorageIncreaseEnabled`와 `temporaryStorageIncreaseEndsOn`이 폐지되었습니다. 이러한 GraphQL 필드는 임시 리포지터리 증가 프로젝트와 관련이 있습니다. 해당 프로젝트는 취소되었고 해당 필드들은 사용되지 않았습니다.
### 컨테이너 스캐닝을 위한 Grype 스캐너를 폐지합니다
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/439164)를 참조하십시오.
GitLab 컨테이너 스캐닝 분석기에서 Grype 스캐너의 지원이 GitLab 16.9에서 폐지되었습니다. GitLab 17.0부터 Grype 분석기는 제한된 수정을 제외하고 더 이상 유지관리되지 않을 것입니다. 이에 대한 자세한 내용은 [지원 성명](https://about.gitlab.com/support/statement-of-support/#version-support)에서 설명되어 있습니다. 사용자는 `CS_ANALYZER_IMAGE`의 기본 설정을 사용하는 것이 좋습니다. 이 설정은 Trivy 스캐너를 사용합니다. 기존 Grype 분석기 이미지의 현재 주요 버전은 GitLab 19.0까지 최신 공지 데이터베이스와 운영 체제 패키지로 계속 업데이트될 것이며, 해당 시점에서 분석기는 작동을 멈출 것입니다. 19.0 이후에도 Grype를 계속 사용하려면 GitLab과의 자체 통합 방법을 학습하기 위해 [보안 스캐너 통합 설명서](https://docs.gitlab.com/ee/development/integrations/secure.html)를 참조하십시오.
### 라이선스 스캐닝 CI 템플릿을 폐지합니다
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/439157)를 참조하십시오.
GitLab 17.0에서는 라이선스 스캐닝 CI 템플릿이 제거됩니다: - [`Jobs/License-Scanning.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/6d9956863d3cd066edc50a29767c2cd4a939c6fd/lib/gitlab/ci/templates/Jobs/License-Scanning.gitlab-ci.yml) - [`Jobs/License-Scanning.latest.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/6d9956863d3cd066edc50a29767c2cd4a939c6fd/lib/gitlab/ci/templates/Jobs/License-Scanning.latest.gitlab-ci.yml) - [`Security/License-Scanning.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/6d9956863d3cd066edc50a29767c2cd4a939c6fd/lib/gitlab/ci/templates/Security/License-Scanning.gitlab-ci.yml) 위 템플릿 중 하나를 포함하는 CI 구성은 GitLab 17.0에서 작동하지 않게 될 것입니다. 사용자는 [CycloneDX 파일의 라이선스 스캐닝](https://docs.gitlab.com/ee/user/compliance/license_scanning_of_cyclonedx_files/)을 대신 사용하는 것이 좋습니다.
### 의존성 스캐닝 및 라이선스 스캐닝에서 Python 3.9의 사용을 폐지합니다
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/441201)를 참조하십시오.
GitLab 16.9부터 의존성 스캐닝 및 라이선스 스캐닝에서 Python 3.9의 지원이 폐지되었습니다. GitLab 17.0부터는 Python 3.10이 의존성 스캐닝 CI/CD 작업의 기본 버전입니다. GitLab 17.0부터는 Python 3.9가 호환되는 [잠금 파일](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#obtaining-dependency-information-by-parsing-lockfiles)이 없는 프로젝트를 의존성 스캐닝 및 라이선스 스캐닝 기능이 지원하지 않게 됩니다.
### GitLab Runner에서 Windows CMD 사용을 폐지합니다
- GitLab 16.1에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/414864)를 참조하십시오.
GitLab 11.11에서 Windows Batch 실행기인 CMD 셸이 GitLab Runner에서 PowerShell을 선호하는 방식으로 폐지되었습니다. 그 후로 CMD 셸은 계속해서 Windows에있는 GitLab Runner에서 지원되었습니다. 그러나 이는 엔지니어링 팀과 Runner를 사용하는 고객 모두에게 추가 복잡성을 초래했습니다. 17.0에서는 Windows CMD에 대한 지원을 완전히 제거할 예정입니다. 사용자는 셸 실행기를 사용할 때 Windows에서 Runner를 사용할 때 PowerShell을 사용할 것을 계획해야 합니다. 고객은 Windows에서 Runner를 사용할 때 피드백을 제공하거나 질문을하기 위해 [issue 29479](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29479)의 제거 이슈에서 피드백을 제공할 수 있습니다.
### `CiRunnerManager`에서 중복된 `CiRunner` GraphQL 필드를 폐기합니다
- GitLab 16.2에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 더 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/41518)를 참조하세요.
이제 이러한 필드(`architectureName`, `ipAddress`, `platformName`, `revision`, `version`)는 러너 구성 내에 그룹화된 러너 관리자의 도입으로 중복되어 [GraphQL `CiRunner`](https://docs.gitlab.com/ee/api/graphql/reference/#cirunner) 유형에서 사용되지 않습니다.
### 테라폼 모듈 CI/CD 템플릿에서 `fmt` 작업을 폐기합니다
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 더 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/440249)를 참조하세요.
테라폼 모듈 CI/CD 템플릿에서 `fmt` 작업이 폐기되며 GitLab 17.0에서 제거될 예정입니다. 다음 템플릿에 영향을 줍니다: - `Terraform-Module.gitlab-ci.yml` - `Terraform/Module-Base.gitlab-ci.yml` 다음을 사용하여 파이프라인에 매뉴얼으로 테라폼 `fmt` 작업을 다시 추가할 수 있습니다: ```yaml fmt: image: hashicorp/terraform script: terraform fmt -chdir "$TF_ROOT" -check -diff -recursive ``` 또한 [OpenTofu CI/CD 컴포넌트](https://gitlab.com/components/opentofu)에서 `fmt` 템플릿을 사용할 수도 있습니다.
### 취약점 관리 기능의 `message` 필드를 폐기합니다
- GitLab 16.1에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 더 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/411573)를 참조하세요.
이 MR에서 `VulnerabilityCreate` GraphQL 뮤테이션의 `message` 필드 및 취약점 내보내기의 `AdditionalInfo` 열에서 `message` 필드를 폐기합니다. 메시지 필드는 GitLab 16.0에서 보안 보고서 스키마에서 제거되었으며 더 이상 다른 곳에서 사용되지 않습니다.
### GitLab Runner Kubernetes executor의 `terminationGracePeriodSeconds`를 폐기합니다
- GitLab 16.3에서 발표됨 - GitLab 17.0에서 지원 종료됨 - GitLab 17.0에서 제거됨 - 이 변경사항에 대해 토론하거나 더 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28165)를 참조하세요.
GitLab Runner Kubernetes executor 설정인 `terminationGracePeriodSeconds`가 폐기되어 GitLab 17.0에서 제거될 예정입니다. Kubernetes에서 GitLab Runner 워커 파드의 정리 및 종료를 관리하려면 고객은 대신 `cleanupGracePeriodSeconds` 및 `podTerminationGracePeriodSeconds`를 구성해야 합니다. `cleanupGracePeriodSeconds` 및 `podTerminationGracePeriodSeconds` 사용 방법에 대한 정보는 [GitLab Runner Executor 문서](https://docs.gitlab.com/runner/executors/kubernetes.html#other-configtoml-settings)를 참조하십시오.
### 피처 플래그 API의 `version` 필드를 폐기합니다
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 더 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/437986)를 참조하세요.
[피처 플래그 REST API](https://docs.gitlab.com/ee/api/feature_flags.html)의 `version` 필드가 폐기되어 GitLab 17.0에서 제거될 예정입니다. `version` 필드가 제거된 후에는 레거시 피처 플래그를 생성하는 방법이 없어질 것입니다.
### Developer 역할에서 취약점 상태 변경을 폐기합니다
- GitLab 16.4에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 더 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/424133)를 참조하세요.
Developer가 취약점의 상태를 변경하는 기능이 이제 폐기되었습니다. 다가오는 GitLab 17.0 릴리스에서 이 기능을 Developer 역할에서 제거할 예정입니다. 개발자에게 이 권한을 계속 부여하려는 사용자는 [사용자 정의 역할](https://docs.gitlab.com/ee/user/permissions.html#custom-roles)을 만들어 개발자에게 `admin_vulnerability` 권한을 추가하여 이 액세스를 부여할 수 있습니다.
### 그룹 소유자의 Self-managed용 사용자 정의 역할 생성 폐지
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/439284)를 참조하십시오.
Self-managed GitLab 17.0에서 그룹 소유자의 사용자 정의 역할 생성이 제거될 예정입니다. 이 기능은 향후에는 관리자만을 위한 인스턴스 수준으로 이동될 것입니다. 그룹 소유자는 그룹 수준에서 사용자 정의 역할을 할당할 수 있을 것입니다. GitLab.com의 그룹 소유자는 여전히 사용자 정의 역할을 관리하고 그룹 수준에서 할당할 수 있습니다.
### GraphQL VulnerabilityType에서 `hasSolutions` 필드의 폐지
- GitLab 16.3에서 발표됨 - GitLab 17.0에서 제거 예정 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/414895)를 참조하십시오.
GraphQL 필드 `Vulnerability.hasSolutions`이 폐지될 것이며 GitLab 17.0에서 제거될 예정입니다. 대신 `Vulnerability.hasRemediations`을 사용하십시오.
### 레거시 쉘 이스케이핑 및 쿼팅 러너 쉘 실행기 폐지
- GitLab 15.11에서 발표됨 - GitLab 17.0에서 제거 예정 - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/406679)를 참조하십시오.
러너의 레거시 이스케이핑 및 변수 확장을 처리하기 위한 쿼팅 메커니즘이 서브-최적 구현을 실현하는 것으로 인해 이 메커니즘이 제한적으로 구현된 Ansi-C 쿼팅을 함으로써 이중 따옴표 안에 포함된 인수를 러너가 확장하는 문제가 있습니다. 15.11부터 러너 쉘 실행기에서 레거시 이스케이핑 및 쿼팅 방법을 폐지하고 있습니다.
### 로그인 페이지의 사용자 정의 텍스트 관련 매개변수 폐지
- GitLab 16.2에서 발표됨 - GitLab 17.0에서 제거 예정 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124461)를 참조하십시오.
`sign_in_text` 및 `help_text` 매개변수는 [Settings API](https://docs.gitlab.com/ee/api/settings.html)에서 폐지되었습니다. 로그인 및 회원가입 페이지에 사용자 정의 텍스트를 추가하려면 [Appearance API](https://docs.gitlab.com/ee/api/appearance.html)의 `description` 필드를 사용하십시오.
### Windows Server 2019의 2022 지원 중단
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/438554)를 참조하십시오.
SaaS 러너용으로 Windows Server 2022의 릴리스를 최근 발표했습니다. 이에 따라 GitLab 17.0에서 Windows 2019의 지원을 중단할 것입니다. Windows 2022로 마이그레이션하는 방법에 대한 자세한 정보는 [Windows 2022 support for GitLab SaaS runners now available](https://about.gitlab.com/blog/2024/01/22/windows-2022-support-for-gitlab-saas-runners/)을 참조하십시오.
### DingTalk OmniAuth 제공자 폐지
- GitLab 15.10에서 발표됨 - GitLab 17.0에서 제거 예정 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/390855)를 참조하십시오.
GitLab에 DingTalk OmniAuth 제공자를 제공하는 `omniauth-dingtalk` 젬이 우리의 다음 주요 릴리스인 GitLab 17.0에서 제거될 것입니다. 이 젬은 매우 적게 사용되며 JiHu edition에 더 적합합니다.
### Gitaly 구성에서 중복 리포지터리 폐지
- GitLab 16.10에서 발표됨 - GitLab 17.0에서 제거 예정 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대해 토론하거나 자세히 알아보려면 [폐지 사항 문제](https://gitlab.com/gitlab-org/gitaly/-/issues/5598)를 참조하십시오.
동일한 리포지터리 경로를 가리키는 여러 Gitaly 리포지터리를 구성하는 지원이 폐지될 것이며 GitLab 17.0에서 제거될 것입니다. GitLab 17.0 및 이후에 이러한 유형의 구성은 오류를 일으킬 것입니다. 이러한 유형의 구성 지원이 제거되는 이유는 배경 리포지터리 유지 보수에서 문제를 일으킬 수 있으며 향후 Gitaly 리포지터리 구현과 호환되지 않을 것이기 때문입니다. 인스턴스 관리자는 각 리포지터리가 고유한 경로로 구성되도록 `gitlab.rb` 구성 파일의 `gitaly['configuration']` 섹션의 `storage` 항목을 업데이트해야 합니다.
### 하향 스트림 파이프라인에서 고정된 파일 유형 변수 확장
- GitLab 16.6에서 발표됨 - GitLab 17.0에서 삭제 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 토론하거나 자세히 알아보려면 [유지보수 종료 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/419445)를 참조하세요.
이전에 다른 CI/CD 변수에서 [파일 유형 CI/CD 변수](https://docs.gitlab.com/ee/ci/variables/#use-file-type-cicd-variables)를 참조하려고 시도하면 해당 CI/CD 변수는 파일의 내용을 포함하도록 확장되었습니다. 이 동작은 일반적인 셸 변수 확장 규칙을 준수하지 않았기 때문에 잘못되었습니다. CI/CD 변수 참조는 파일 내용이 아니라 파일 경로만 포함하도록 확장해야 합니다. GitLab 15.7에서 대부분의 사용 사례에 대해 수정되었지만, 하향 스트림 파이프라인에 CI/CD 변수를 전달하는 것은 아직 수정되지 않았으나 GitLab 17.0에서 수정될 예정입니다. 이 변경으로 `.gitlab-ci.yml` 파일에 구성된 변수는 파일 변수를 참조하고 하향 스트림 파이프라인에 전달할 수 있으며, 파일 변수도 하향 스트림 파이프라인에 전달됩니다. 하향 스트림 파이프라인은 변수 참조를 파일 경로로 확장하고 파일 내용이 아닌 파일 경로를 하향 스트림 파이프라인에 전달합니다. 이 변경으로 하향 스트림 파이프라인에서 파일 변수를 확장하는 데에 의존하는 사용자 워크플로가 중단될 수 있습니다.
### 릴리스 및 릴리스 링크 API의 파일 경로 필드
- GitLab 15.9에서 발표됨 - GitLab 17.0에서 삭제 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 토론하거나 자세히 알아보려면 [유지보수 종료 문제](https://gitlab.com/groups/gitlab-org/-/epics/9661)를 참조하세요.
[릴리스 API](https://docs.gitlab.com/ee/api/releases) 및 [릴리스 링크 API](https://docs.gitlab.com/ee/api/releases/links.html)에서 직접 에셋 링크에 대한 `filepath`를 지정하는 지원이 GitLab 15.9에서 사용 중지되며 GitLab 17.0에서 제거될 예정입니다. GitLab은 `filepath`를 대체하기 위해 GitLab 15.9에서 `direct_asset_path`라는 새로운 필드를 도입했으며 최종적으로 제거될 때까지 사용할 수 있습니다. 어떤 중단도 발생하지 않도록 하려면 다음 엔드포인트 호출에서 `filepath`를 `direct_asset_path`로 교체해야 합니다: - 릴리스 API: - [릴리스 생성](https://docs.gitlab.com/ee/api/releases/#create-a-release) - [릴리스 에셋 다운로드](https://docs.gitlab.com/ee/api/releases/#download-a-release-asset) - 릴리스 링크 API: - [릴리스 링크 생성](https://docs.gitlab.com/ee/api/releases/links.html#create-a-release-link) - [릴리스 링크 업데이트](https://docs.gitlab.com/ee/api/releases/links.html#update-a-release-link)
### Geo: Designs 및 projects의 레거시 복제 정보 경로 사용 중지
- GitLab 16.4에서 발표됨 - GitLab 17.0에서 삭제 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 토론하거나 자세히 알아보려면 [유지보수 종료 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/424002)를 참조하세요.
레거시 데이터 유형을 [Geo self-service framework](https://docs.gitlab.com/ee/development/geo/framework.html)로 마이그레이션하는 일환으로 다음 복제 정보 경로가 사용 중지됩니다: - 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](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 토론하거나 자세히 알아보려면 [유지보수 종료 문제](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/4097)를 참조하세요.
`global.kas.tls.*` Helm 값을 도입하여 KAS와 Helm 차트 컴포넌트 간의 TLS 통신을 용이하게 했습니다. 구현된 값은 `gitlab.kas.privateApi.tls.enabled` 및 `gitlab.kas.privateApi.tls.secretName`은 사용 중지되어 GitLab 17.0에서 삭제될 예정입니다. 새 값은 KAS를 위한 TLS를 활성화하는 간소화된 포괄적인 방법을 제공하기 때문에 `gitlab.kas.privateApi.tls.*` 대신 `global.kas.tls.*`을 사용해야 합니다. `gitlab.kas.privateApi.tls.*`에 대한 자세한 내용은 다음을 참조하세요: - `global.kas.tls.*` 값을 도입하는 [Merge Request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/2888). - 사용 중지된 `gitlab.kas.privateApi.tls.*`에 대한 [설명서](https://docs.gitlab.com/charts/charts/gitlab/kas/index.html#enable-tls-communication-through-the-gitlabkasprivateapi-attributes-deprecated). - 새로운 `global.kas.tls.*` [설명서](https://docs.gitlab.com/charts/charts/globals.html#tls-settings-1).
### GraphQL API에서 GitLab Runner 플랫폼 및 설정 지침
- GitLab 15.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/387937)를 참조하세요.
`runnerPlatforms` 및 `runnerSetup` 쿼리를 사용하여 GitLab Runner 플랫폼 및 설치 지침을 가져오는 것은 사용되지 않으며, GraphQL API에서 제거될 예정입니다. 설치 지침은 [GitLab Runner documentation](https://docs.gitlab.com/runner/)을 사용해야 합니다.
### GitLab Runner 출처 메타데이터 SLSA v0.2 선언
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지 사항 이슈](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/36869)를 참조하세요.
Runner는 출처 메타데이터를 생성하며 현재 기본값으로는 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](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/414236)를 참조하세요.
GraphQL을 사용하여 GitLab 의존성 프록시에서 사용하는 저장 공간 양을 쿼리할 수 있습니다. 그러나 `dependencyProxyTotalSizeInBytes` 필드는 대부분의 경우 충분하지 않은 ~2Gb(바이트)로 제한되어 있습니다. 결과적으로 `dependencyProxyTotalSizeInBytes`는 제거될 예정이며, GitLab 17.0에서 제거될 예정입니다. GitLab 16.1에서 소개된 대신 `dependencyProxyTotalSizeBytes`를 사용하세요.
### `registrySizeEstimated` 필드가 폐지됨
- GitLab 16.2에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/416509)를 참조하세요.
명확성을 위해, GraphQL 필드 `registrySizeEstimated`는 해당 상대항목과 일치하도록 `containerRegistrySizeIsEstimated`로 이름이 변경되었습니다. `registrySizeEstimated`는 GitLab 16.2에서 폐지되며, GitLab 17.0에서 제거될 예정입니다. 대신 GitLab 16.2에서 소개된 `containerRegistrySizeIsEstimated`를 사용하세요.
### `totalWeight` 필드가 폐지됨
- GitLab 16.3에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/416219)를 참조하세요.
GraphQL을 사용하여 이슈 보드에서 이슈의 총 가중치를 쿼리할 수 있습니다. 그러나 `totalWeight` 필드는 최대 크기인 2147483647로 제한되어 있습니다. 결과적으로 `totalWeight`는 제거될 예정이며, GitLab 17.0에서 제거될 예정입니다. GitLab 16.2에서 소개된 `totalIssueWeight`를 사용하세요.
### 네트워크 정책 GraphQL 리소스가 폐지됨
- GitLab 14.8에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/421440)를 참조하세요.
`networkPolicies` [GraphQL 리소스](https://docs.gitlab.com/ee/api/graphql/reference/#projectnetworkpolicies)가 폐지될 예정이며, GitLab 15.0부터 이 필드는 데이터를 반환하지 않습니다.
### `RunnerMembershipFilter` GraphQL 타입이 `CiRunnerMembershipFilter`로 변경됨
- GitLab 16.0에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [폐지 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/409333)를 참조하세요.
GraphQL 타입인 `RunnerMembershipFilter`이 `CiRunnerMembershipFilter`로 변경되었습니다. GitLab 17.0부터 `RunnerMembershipFilter` 타입의 별칭이 제거될 것입니다.
### GraphQL: `SharedRunnersSetting` 열거형의 `DISABLED_WITH_OVERRIDE` 값이 사용되지 않음
- GitLab 15.8에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [사용하지 않는 것에 대한 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/385636)를 참조하세요.
GitLab 17.0에서 `SharedRunnersSetting` GraphQL 열거형 유형의 `DISABLED_WITH_OVERRIDE` 값은 `DISABLED_AND_OVERRIDABLE` 값으로 대체될 것입니다.
### GraphQL: `canDestroy` 및 `canDelete` 지원 사용 중지
- GitLab 16.6에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [사용하지 않는 것에 대한 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/390754)를 참조하세요.
패키지 레지스트리 사용자 인터페이스는 GitLab GraphQL API를 사용합니다. 모든 사람이 쉽게 기여할 수 있도록 하기 위해 프론트엔드는 모든 GitLab 제품 영역에서 일관되게 코딩되어야 합니다. 그러나 GitLab 16.6 이전에 패키지 레지스트리 UI는 제품의 다른 영역과 다르게 권한을 처리했습니다. 16.6에서 새로운 `UserPermissions` 필드를 `Types::PermissionTypes::Package` 유형에 추가하여 패키지 레지스트리를 GitLab의 나머지 부분과 일치시켰습니다. 이 새로운 필드는 `Package`, `PackageBase`, `PackageDetailsType` 타입의 `canDestroy` 필드와, `ContainerRepository`, `ContainerRepositoryDetails`, `ContainerRepositoryTag`의 `canDelete` 필드를 대체합니다. GitLab 17.0에서 `canDestroy` 및 `canDelete` 필드가 제거될 것입니다. 17.0에서 완료될 이 breaking change는 GitLab 17.0에서 완료될 것입니다.
### 기본적으로 HashiCorp Vault 통합에서 CI_JOB_JWT 사용하지 않음
- GitLab 15.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [사용하지 않는 것에 대한 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/366798)를 참조하세요.
JWT 및 OIDC를 사용하여 CI 워크플로우의 보안성을 향상시키기 위한 노력의 일환으로, 네이티브 HashiCorp 통합도 GitLab 16.0에서 업데이트될 예정입니다. Vault에서 시크릿을 가져오기 위해 [`secrets:vault`](https://docs.gitlab.com/ee/ci/yaml/#secretsvault) 키워드를 사용하는 프로젝트는 [ID 토큰을 사용하도록 구성](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#configure-automatic-id-token-authentication)해야 합니다. ID 토큰은 15.7에서 소개되었습니다. 이 변경에 대비하려면 새로운 [`id_tokens`](https://docs.gitlab.com/ee/ci/yaml/#id_tokens) 키워드를 사용하고 `aud` 클레임을 구성하세요. 바인딩된 audience는 `https://`로 접두사가 붙어야 합니다. GitLab 15.9 ~ 15.11에서는 [**JSON Web Token (JWT) 액세스 제한**](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#enable-automatic-id-token-authentication) 설정을 활성화할 수 있으며, 이는 이전 토큰이 모든 작업에 노출되는 것을 방지하고 `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](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [사용하지 않는 것에 대한 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/437937)를 참조하세요.
GitLab 17.0에서 `auto-build-image` 프로젝트는 `heroku/builder:20` 이미지에서 `heroku/builder:22`로 업그레이드될 것입니다. 새 이미지의 동작을 테스트하려면 CI/CD 변수 `AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDER`를 `heroku/builder:22`로 설정하세요. GitLab 17.0 이후에도 `heroku/builder:20`을 계속 사용하려면 `AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDER`를 `heroku/builder:20`으로 설정하세요.
### 내부 컨테이너 레지스트리 API 태그 삭제 엔드포인트
- GitLab 16.4에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [사용하지 않는 것에 대한 문제](https://gitlab.com/gitlab-org/container-registry/-/issues/1094)를 참조하세요.
Docker Registry HTTP API V2 Spec은 태그 삭제 작업을 포함하지 않았으며 이를 대신하여 (태그가 아닌 manifest 삭제를 통한) 안전하지 않고 느린 해결책을 사용해 같은 결과를 달성해야 했습니다. 태그 삭제는 중요한 기능이므로 GitLab 컨테이너 레지스트리에 태그 삭제 작업이 추가되어 Docker 및 OCI 분배 명세의 범위를 넘어섰습니다. 그 후 OCI Distribution Spec은 몇 가지 업데이트를 받았으며 이제 [`DELETE /v2//manifests/` 엔드포인트](https://github.com/opencontainers/distribution-spec/blob/main/spec.md#deleting-tags)를 사용하여 태그 삭제 작업을 할 수 있습니다. 이로써 컨테이너 레지스트리에는 정확히 같은 기능을 제공하는 두 개의 엔드포인트가 생겼습니다. `DELETE /v2//tags/reference/`는 사용자 정의 GitLab 태그 삭제 엔드포인트이고, `DELETE /v2//manifests/`는 GitLab 16.4에서 도입된 OCI 호환 태그 삭제 엔드포인트입니다. GitLab 16.4에서 사용자 정의 GitLab 태그 삭제 엔드포인트의 지원이 사용되지 않게 되며, GitLab 17.0에서 제거될 것입니다. 이 엔드포인트는 **내부** 컨테이너 레지스트리 애플리케이션 API에서 사용되며, 공개 [GitLab 컨테이너 레지스트리 API](https://docs.gitlab.com/ee/api/container_registry.html)와는 관련이 없습니다. 대다수의 컨테이너 레지스트리 사용자는 아무런 조치를 취할 필요가 없습니다. 새 OCI 호환 엔드포인트로 전환될 때까지 관련된 GitLab UI 및 API 기능은 유지될 것입니다. 그러나 내부 컨테이너 레지스트리 API에 액세스하고 기존의 태그 삭제 엔드포인트를 사용하는 경우, 새 엔드포인트로 업데이트해야 합니다. </div>
### JWT `/-/jwks` 인스턴스 엔드포인트가 폐기되었습니다
- GitLab 16.7에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/221031)를 참조하세요.
[이전 JSON 웹 토큰 버전](https://docs.gitlab.com/ee/update/deprecations.html?removal_milestone=17.0#old-versions-of-json-web-tokens-are-deprecated)의 폐기로 인해 GitLab 17.0에서는 관련된 `/-/jwks` 엔드포인트, 즉 `/oauth/discovery/keys`의 별칭이 더는 필요하지 않으며 제거될 예정입니다. `/-/jwks`를 `/oauth/discovery/keys`로 교체하세요. 예를 들어 `https://gitlab.example.com/-/jwks`를 `https://gitlab.example.com/oauth/discovery/keys`로 변경하세요.
### 레거시 Geo 프로메테우스 메트릭
- GitLab 16.6에 발표됨 - GitLab 17.0에 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/430192)를 참조하세요.
[프로젝트를 [Geo self-service framework](https://docs.gitlab.com/ee/development/geo/framework.html)로 이관](https://docs.gitlab.com/ee/development/geo/framework.html)한 후에 우리는 여러 [프로메테우스](https://docs.gitlab.com/ee/administration/monitoring/prometheus/) 메트릭을 폐기했습니다. 아래는 폐기된 메트릭과 해당 대체품 디렉터리입니다. 대체품은 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` | 사용 불가 |
### License List 폐기
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/436100)를 참조하세요.
현재 GitLab에서 프로젝트의 모든 라이선스 및 해당 라이선스를 사용하는 컴포넌트 디렉터리을 볼 수 있습니다. 16.8부터 License List가 폐기되어 17.0에서 breaking change로 제거될 예정입니다. [그룹 Dependency List](https://docs.gitlab.com/ee/user/application_security/dependency_list/) 릴리스 및 프로젝트 및 그룹 Dependency List에서 라이선스로 필터링하는 기능이 추가되어 이제 프로젝트 또는 그룹에서 사용 중인 모든 라이선스에 액세스할 수 있습니다.
### sbt 1.0.X에 대한 License Scanning 지원
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/437591)를 참조하세요.
GitLab 17.0에서는 sbt 1.0.x에 대한 License Scanning 지원이 제거됩니다. 사용자는 sbt 1.0.x에서 업그레이드하는 것이 좋습니다.
### Ubuntu 18.04용 Linux 패키지
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 제거 예정 - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/8082)를 참조하세요.
Ubuntu 18.04의 표준 지원은 [2023년 6월에 종료되었습니다](https://wiki.ubuntu.com/Releases). 17.0부터는 Ubuntu 18.04용 Linux 패키지를 제공하지 않을 것입니다. GitLab 17.0 이후를 준비하려면: 1. Ubuntu 18.04에서 실행 중인 GitLab 인스턴스를 Ubuntu 20.04 또는 Ubuntu 22.04로 이동하세요. 1. 지금 사용 중인 Ubuntu 버전에 대한 GitLab 인스턴스를 업그레이드하세요.
### 리포지터리 디렉터리 디렉터리 Rake 작업
- GitLab 16.7에 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/384361)를 참조하세요.
`gitlab-rake gitlab:list_repos` Rake 작업은 작동하지 않으며 GitLab 17.0에서 제거될 것입니다. GitLab을 마이그레이션하는 경우 [백업 및 복원](https://docs.gitlab.com/ee/administration/operations/moving_repositories.html#recommended-approach-in-all-cases)을 사용하세요.
### Maintainer 역할은 GraphQL API를 사용하여 패키지 설정을 변경할 수 있는 기능을 제공합니다.
- GitLab 15.8에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [사라진 기능 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/370471)를 참조하세요.
**Maintainer** 역할을 하는 사용자들이 그룹의 **Packages and registries** 설정을 GraphQL API를 사용하여 변경하는 기능은 GitLab 15.8에서 사용 중지되었으며 GitLab 17.0에서 제거될 예정입니다. 이러한 설정에는 다음이 포함됩니다. - [중복 패키지 업로드 허용 또는 방지](https://docs.gitlab.com/ee/user/packages/maven_repository/#do-not-allow-duplicate-maven-packages). - [패키지 요청 전달](https://docs.gitlab.com/ee/user/packages/maven_repository/#request-forwarding-to-maven-central). - [의존성 프록시에 대한 라이프사이클 규칙 활성화](https://docs.gitlab.com/ee/user/packages/dependency_proxy/reduce_dependency_proxy_storage.html). GitLab 17.0 및 이후에는 **그룹**의 **Packages and registries** 설정을 변경하려면 GitLab UI 또는 GraphQL API를 사용하여 Owner 역할이 있어야 합니다.
### 의존성 스캔 및 라이선스 스캔에서 3.8.8 미만의 Maven 버전 지원 중단
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [사라진 기능 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/438772)를 참조하세요.
GitLab 17.0에서는 Maven 3.8.8 미만 버전에 대한 의존성 스캔 및 라이선스 스캔 지원이 중단됩니다. 사용자들은 3.8.8 이상으로 업그레이드하는 것이 권장됩니다.
### Sidekiq 옵션에서 최소 동시성 및 최대 동시성
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [사라진 기능 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/439687)를 참조하세요.
- 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_MAX`를 `sidekiq` 하위 차트에 `extraEnv`로 전달하는 것은 GitLab 16.10에서 사용 중지되었으며 GitLab 17.0에서 제거될 예정입니다. 각 프로세스에서 스레드 수를 명시적으로 설정하려면 `concurrency` 옵션을 사용할 수 있습니다.
### `/users` REST API 엔드포인트의 오프셋 페이지네이션이 사용 중지됨
- GitLab 16.5에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [사라진 기능 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/426547)를 참조하세요.
GitLab 16.5에서 `/users` REST API의 오프셋 페이지네이션이 사용 중지되었으며 GitLab 17.0에서 제거될 예정입니다. 대신 [키셋 페이지네이션](https://docs.gitlab.com/ee/api/rest/index.html#keyset-based-pagination)을 사용하세요.
### 구 버전의 JSON 웹 토큰 사용이 사용 중지됨
- GitLab 15.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [사라진 기능 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/366798)를 참조하세요.
GitLab 15.7에서 OIDC 지원을 포함한 [ID 토큰](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html)이 소개되었습니다. 이러한 토큰은 이전의 JSON 웹 토큰 (JWT)보다 구성이 더 가능하며, OIDC(OpenID Connect) 호환성이 있으며 명시적으로 ID 토큰이 구성된 CI/CD 작업에서만 사용할 수 있습니다. 이전의 `CI_JOB_JWT*` JSON 웹 토큰은 모든 작업에서 노출되는 반면 ID 토큰은 이전의 JSON 웹 토큰보다 더 안전하며 다음과 같은 이전의 JSON 웹 토큰들이 사용 중지되었습니다. - `CI_JOB_JWT` - `CI_JOB_JWT_V1` - `CI_JOB_JWT_V2` 이 변경에 대비하여 토큰이 사라지기 전에 파이프라인을 설정하여 사용 대신 [ID 토큰](https://docs.gitlab.com/ee/ci/yaml/index.html#id_tokens)을 사용하세요. OIDC(OpenID Connect) 호환성에 대비하여 `iss` 클레임은 이제 fully qualified domain name을 사용합니다. 예를 들어 `https://example.com`은 이전에 `CI_JOB_JWT_V2` 토큰으로 도입되었습니다. GitLab 15.9에서 15.11에서는 [**Limit JSON Web Token (JWT) access**](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#enable-automatic-id-token-authentication)를 활성화하여 구성할 수 있으며, 이로써 이전 토큰이 모든 작업에 노출되는 것을 막고, [`secrets:vault`](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#configure-automatic-id-token-authentication)을 위한 ID 토큰 인증을 활성화할 수 있습니다. 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이 사라짐
- GitLab 16.2에 발표 - GitLab 17.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [중단 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/416000)를 참조하십시오.
OmniAuth Facebook 지원은 GitLab 17.0에서 제거될 예정입니다. 마지막 젬 릴리스는 2021년에 이루어졌으며 현재 유지보수되고 있지 않습니다. 현재 사용량은 0.1% 미만입니다. OmniAuth Facebook을 사용 중이라면 지원이 제거되기 전에 [지원되는 제공자](https://docs.gitlab.com/ee/integration/omniauth.html#supported-providers)로 전환하십시오.
### API 페이로드의 패키지 파이프라인이 페이지로 구성됨
- GitLab 14.5에 발표 - GitLab 17.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [중단 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/289956)를 참조하십시오.
`/api/v4/projects/:id/packages`에 대한 API 요청은 패키지의 페이지로 구성된 결과를 반환합니다. 각 패키지는 이 응답에서 모든 파이프라인을 나열합니다. 수백 개 또는 수천 개의 연관된 파이프라인이 패키지에 있을 수 있기 때문에 이는 성능에 영향을 미칩니다. 17.0 마일스톤에서 API 응답에서 `pipelines` 속성을 제거할 예정입니다.
### PipelineSecurityReportFinding projectFingerprint GraphQL 필드
- GitLab 15.1에 발표 - GitLab 17.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [중단 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/343475)를 참조하십시오.
취약점 결과의 [`project_fingerprint`](https://gitlab.com/groups/gitlab-org/-/epics/2791) 속성은 `uuid` 속성을 선호하는 방향으로 폐기됩니다. UUIDv5 값을 사용하여 결과와 관련된 모든 엔터티를 쉽게 연결할 수 있습니다. `project_fingerprint` 속성은 더 이상 결과를 추적하는 데 사용되지 않으며 GitLab 17.0에서 제거될 것입니다. 16.1부터 `project_fingerprint`의 출력은 `uuid` 필드와 동일한 값을 반환합니다.
### PostgreSQL 13 폐지 예정
- GitLab 16.0에 발표 - GitLab 17.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [중단 문제](https://gitlab.com/groups/gitlab-org/-/epics/9065)를 참조하십시오.
GitLab은 PostgreSQL에 대한 [연간 업그레이드 주기](https://handbook.gitlab.com/handbook/engineering/infrastructure/core-platform/data_stores/database/postgresql-upgrade-cadence/)를 따릅니다. PostgreSQL 13 지원이 GitLab 17.0에서 제거될 예정입니다. GitLab 17.0에서는 PostgreSQL 14가 최소 필요 버전이 될 것입니다. PostgreSQL 13은 전체 GitLab 16 릴리스 주기 동안 지원될 것입니다. PostgreSQL 14는 GitLab 17.0 이전에 업그레이드를 원하는 인스턴스에도 지원될 것입니다.
### 프록시 기반 DAST 폐지 예정
- GitLab 16.6에 발표 - GitLab 17.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [중단 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/430966)를 참조하십시오.
GitLab 17.0부터 프록시 기반 DAST은 더 이상 지원되지 않습니다. 프로젝트의 보안 결과 분석을 계속하려면 브라우저 기반 DAST로 마이그레이션하십시오. [침해 및 공격 시뮬레이션](https://docs.gitlab.com/ee/user/application_security/breach_and_attack_simulation/)은 프록시 기반 DAST를 기반으로 하는孵化 중인 기능으로, 17.0 이후에 더 이상 지원되지 않을 것입니다.
### `POST /api/v4/runners` 엔드포인트의 등록 토큰 및 서버 측 러너 인수
- GitLab 15.6에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 정보는 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/379743)를 참조하세요.
`POST` 메서드 작업에서의 등록 토큰 및 특정 러너 구성 인수 지원은 더 이상 권장되지 않습니다. 이 엔드포인트는 API를 통해 인스턴스, 그룹 또는 프로젝트 수준에서 GitLab 인스턴스에 러너를 [등록](https://docs.gitlab.com/ee/api/runners.html#register-a-new-runner)합니다. 등록 토큰 및 특정 구성 인수의 지원은 GitLab 17.0에서 HTTP `410 Gone` 상태 코드를 반환하기 시작합니다. 자세한 정보는 [새로운 러너 등록 워크플로로 마이그레이션](../ci/runners/new_creation_workflow.md)을 참조하세요. 인증 토큰을 비활성화하는 구성 인수는 다음과 같습니다: - `--locked` - `--access-level` - `--run-untagged` - `--maximum-timeout` - `--paused` - `--tag-list` - `--maintenance-note` 이 변경은 파괴적인 변경입니다. 구성을 추가하려면 UI에서 러너를 [생성](../ci/runners/runners_scope.html)하고 `gitlab-runner register` 명령에서 인증 토큰을 사용해야 합니다.
### Linux의 소형 SaaS 러너에서 태그 제거
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 정보는 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/30829)를 참조하세요.
역사적인 이유로, 소형 Linux SaaS 러너에는 레이블로 사용되었기 때문에 많은 태그가 부착되어 있었습니다. 모든 SaaS 러너에서 `saas-linux-small-amd64`만을 사용하여 태그를 표준화하고자 합니다. 다음과 같은 태그를 제거함으로써 위 기능을 기존 기능으로 대체하려고 합니다: `docker`, `east-c`, `gce`, `git-annex`, `linux`, `mongo`, `mysql`, `postgres`, `ruby`, `shared`. 자세한 정보는 [Linux의 소형 SaaS 러너에서 태그 제거](https://about.gitlab.com/blog/2023/08/15/removing-tags-from-small-saas-runner-on-linux/)를 참조하세요.
### 'require_password_to_approve' 필드 이름 변경
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 정보는 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/431346)를 참조하세요.
GitLab 16.7에서 [사용자 재인증 필요 여부 승인](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/settings.html#require-user-re-authentication-to-approve) 기능을 위해 SAML SSO로 다시 인증할 수 있는 기능을 추가했습니다. 이에 따라 GitLab 17.0에서 UI, API 및 데이터베이스에서 `require_password_to_approve` 필드의 이름을 `require_reauthentication_to_approve`로 변경할 예정입니다.
### 필수 파이프라인 구성은 제거 예정
- GitLab 15.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 정보는 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/389467)를 참조하세요.
필수 파이프라인 구성은 GitLab 17.0에서 제거될 예정입니다. 이는 Ultimate 티어의 Self-managed 사용자에 영향을 미칩니다. 필수 파이프라인 구성은 반드시 다음 중 하나로 대체해야 합니다: - [컴플라이언스 프레임워크에 대한 보안 정책](https://docs.gitlab.com/ee/user/application_security/policies/scan-execution-policies.html#security-policy-scopes) (실험적) - [컴플라이언스 파이프라인](https://docs.gitlab.com/ee/user/group/compliance_pipelines.html) (현재 사용 가능) 우리는 이러한 대체 솔루션을 권장합니다. 이를 통해 특정 컴플라이언스 프레임워크 레이블에 필수 파이프라인을 할당하는 더 큰 유연성을 제공할 수 있습니다. 참고: 컴플라이언스 파이프라인은 향후에 폐기될 예정이며 보안 정책으로 이전될 것입니다. 자세한 정보는 [마이그레이션 및 폐기](https://gitlab.com/groups/gitlab-org/-/epics/11275)를 참조하세요.
### GitLab 17.0에서 SAST 분석기 커버리지 변경
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 정보는 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/412060)를 참조하세요.
우리는 GitLab SAST에서 기본적으로 지원되는 [분석기](https://docs.gitlab.com/ee/user/application_security/sast/analyzers/) 수를 줄이고 있습니다. 이는 서로 다른 프로그래밍 언어에 대해 더 빠르고 일관된 사용자 경험을 제공하기 위한 장기적인 전략의 일환입니다. GitLab 17.0에서 다음을 진행할 것입니다: 1. [SAST CI/CD 템플릿](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/SAST.gitlab-ci.yml)에서 언어별 분석기 세트를 제거하고 [Semgrep를 기반으로 하는 GitLab 지원 감지 규칙](https://docs.gitlab.com/ee/user/application_security/sast/rules.html)로 이들의 커버리지를 대체할 예정입니다. 다음 분석기들은 이제 폐기되어 GitLab 17.0에서 지원이 종료됩니다: 1. [Brakeman](https://gitlab.com/gitlab-org/security-products/analyzers/brakeman) (Ruby, Ruby on Rails) 1. [Flawfinder](https://gitlab.com/gitlab-org/security-products/analyzers/flawfinder) (C, C++) 1. [MobSF](https://gitlab.com/gitlab-org/security-products/analyzers/mobsf) (Android, iOS) 1. [NodeJS Scan](https://gitlab.com/gitlab-org/security-products/analyzers/nodejs-scan) (Node.js) 1. [PHPCS Security Audit](https://gitlab.com/gitlab-org/security-products/analyzers/phpcs-security-audit) (PHP) 1. [SAST CI/CD 템플릿](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/SAST.gitlab-ci.yml)을 변경하여 Kotlin 및 Scala 코드에 대한 [SpotBugs 기반 분석기](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs)를 실행 중단시킬 것입니다. 대신, 이러한 언어는 [Semgrep를 기반으로 하는 GitLab 지원 감지 규칙](https://docs.gitlab.com/ee/user/application_security/sast/rules.html)로 스캔될 것입니다. 즉시, 폐기된 분석기는 보안 업데이트만 받을 것이며, 일반적인 개선 사항이나 업데이트는 보장되지 않을 것입니다. 분석기가 GitLab 17.0에서 지원 종료를 하면 추가 업데이트는 제공되지 않을 것입니다. 그러나, 이전에 게시된 이러한 분석기에 대한 컨테이너 이미지를 삭제하거나 사용자 정의 CI/CD 파이프라인 작업 정의를 사용하여 그들을 실행하는 능력을 제거하지는 않을 것입니다. 취약점 관리 시스템은 대부분의 기존 발견 항목을 새로운 감지 규칙과 일치시킬 것입니다. 새 분석기로 마이그레이션되지 않는 발견 항목은 [자동으로 해결](https://docs.gitlab.com/ee/user/application_security/sast/#automatic-vulnerability-resolution)될 것입니다. 자세한 내용은 [취약점 번역 문서](https://docs.gitlab.com/ee/user/application_security/sast/analyzers.html#vulnerability-translation)를 참조하세요. 만약 제거된 분석기에 사용자 정의를 적용했거나 현재 파이프라인에서 Semgrep 기반 분석기를 비활성화했다면, [이 변경에 대한 폐기 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/412060#action-required)에 자세히 기술된 조치를 취해야 합니다.
### Scan 실행 정책으로 `_EXCLUDED_ANALYZERS` 변수를 사용하여 스캔을 강제하는 경우 프로젝트 변수를 재정의합니다.
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토의 또는 자세한 내용은 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/424513)를 참조하세요.
[Enforce SEP variables with the highest precedence](https://gitlab.com/gitlab-org/gitlab/-/issues/424028)을 전달하고 확인한 후 의도하지 않은 동작을 발견하여 사용자가 파이프라인 구성에서 `_EXCLUDED_PATHS`를 설정하고 이러한 설정을 방지하기 위해 정책 및 파이프라인 구성에서 `_EXCLUDED_ANALYZERS`를 설정할 수 있게 되었습니다. 스캔 실행 정책에 `_EXCLUDED_ANALYZERS` 또는 `_EXCLUDED_PATHS` 변수가 지정된 경우 GitLab 스캔 액션을 사용하여 스캔 실행 변수의 적절한 강제 적용을 보장하려면 해당 변수가 제외된 분석기를 정의하는 프로젝트 변수를 재정의합니다. 사용자는 17.0 이전에 이 동작을 강제 적용하기 위해 피처 플래그를 활성화할 수 있습니다. 17.0에서는 해당 변수가 정의된 스캔 실행 정책을 사용하는 프로젝트는 기본적으로 재정의될 것입니다.
### 보안 분석기 주요 버전 업데이트
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토의 또는 자세한 내용은 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/438123)를 참조하세요.
보안 단계에서는 GitLab 17.0 릴리스와 함께 분석기의 주요 버전을 업데이트할 것입니다. 기본 포함된 템플릿을 사용하지 않거나 분석기 버전을 고정시켰다면 CI/CD 작업 정의를 업데이트하여 고정 버전을 제거하거나 최신 주요 버전으로 업데이트해야 합니다. 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](https://docs.gitlab.com/ee/user/application_security/sast/analyzers/) - `brakeman` - `flawfinder` - `kubesec` - `mobsf` - `nodejs-scan` - `phpcs-security-audit` - `pmd-apex` - `semgrep` - `sobelow` - `spotbugs`
### 보안 정책 필드 `match_on_inclusion`이 폐지되었습니다
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토의 또는 자세한 내용은 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/424513)를 참조하세요.
[스캔 결과 정책을 위한 추가 필터 지원](https://gitlab.com/groups/gitlab-org/-/epics/6826#note_1341377224)에서 우리는 `newly_detected` 필드를 `new_needs_triage`와 `new_dismissed` 두 옵션으로 분리했습니다. 보안 정책 YAML에 이러한 옵션을 모두 포함시키면 원래 `newly_detected` 필드와 동일한 결과를 얻을 수 있습니다. 그러나 이제 `new_needs_triage`만 사용하여 거절된 결과를 무시하는 필터를 좁힐 수 있게 되었습니다. [에픽 10203](https://gitlab.com/groups/gitlab-org/-/epics/10203#note_1545826313)의 토의를 바탕으로 우리는 YAML 정의에서 더 명확한 `match_on_inclusion_license` 필드의 이름을 변경했습니다.
### 보안 정책 필드 `newly_detected`가 폐지되었습니다
- GitLab 16.5에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토의 또는 자세한 내용은 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/422414)를 참조하세요.
[스캔 결과 정책을 위한 추가 필터 지원](https://gitlab.com/groups/gitlab-org/-/epics/6826#note_1341377224)에서 우리는 `newly_detected` 필드를 `new_needs_triage`와 `new_dismissed` 두 옵션으로 분리했습니다. 보안 정책 YAML에 이러한 옵션을 모두 포함시키면 원래 `newly_detected` 필드와 동일한 결과를 얻을 수 있습니다. 그러나 이제 `new_needs_triage`만 사용하여 거절된 결과를 무시하는 필터를 좁힐 수 있게 되었습니다.
### 단일 데이터베이스 연결이 더 이상 권장되지 않습니다
- GitLab 15.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의나 자세한 정보는 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/387898)를 참조하세요.
이전에는 [GitLab의 데이터베이스](https://docs.gitlab.com/omnibus/settings/database.html) 설정에 단일 `main:` 섹션이 있었습니다. 이제 이는 폐기되고 있습니다. 새로운 설정에는 `main:` 섹션과 `ci:` 섹션이 모두 포함되어 있습니다. 이 폐기는 소스에서 GitLab을 컴파일하는 사용자들에게 영향을 미칩니다. 이들 사용자들은 GitLab 16.0부터 [ci: 섹션을 추가해야](https://docs.gitlab.com/ee/install/installation.html#configure-gitlab-db-settings) 합니다. Omnibus, Helm 차트 및 Operator에서는 GitLab 16.0부터 이 설정을 자동으로 처리할 것입니다.
### self-hosted Sentry 버전 21.4.1 및 이전 버전 지원이 폐기되었습니다
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의나 자세한 정보는 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/435791)를 참조하세요.
self-hosted Sentry 버전 21.4.1 및 그 이전 버전의 지원이 폐기되며, GitLab 17.0에서 제거될 예정입니다. 만약 self-hosted Sentry 버전이 21.4.1 이거나 그 이전 버전이라면, GitLab을 17.0 이상으로 업그레이드한 후 GitLab 인스턴스에서 오류를 수집할 수 없게 될 수 있습니다. GitLab 인스턴스에서의 오류를 Sentry 인스턴스로 계속 보내려면, Sentry를 버전 21.5.0 이상으로 업그레이드하시기 바랍니다. 자세한 내용은 [Sentry 문서](https://develop.sentry.dev/self-hosted/releases/)를 참조하세요. 참고: 폐기된 지원은 관리자를 위한 [GitLab 인스턴스 오류 추적 기능](https://docs.gitlab.com/omnibus/settings/configuration.html#error-reporting-and-logging-with-sentry)에 대한 것입니다. 폐기된 지원은 개발자가 자체 배포한 응용 프로그램에 대한 [GitLab 오류 추적](https://docs.gitlab.com/ee/operations/error_tracking.html#sentry-error-tracking)과 관련이 없습니다.
### 백업에 대한 사용자 정의 스키마 설정이 폐기되었습니다
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의나 자세한 정보는 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/435210)를 참조하세요.
Linux 패키지 설치의 경우 `/etc/gitlab/gitlab.rb`에서 `gitlab_rails['backup_pg_schema'] = '<스키마_이름>'`을 설정하거나, 자체 컴파일 설치의 경우 `config/gitlab.yml`을 편집함으로써 GitLab을 사용하여 백업에 사용자 정의 스키마를 구성할 수 있었습니다. 이 설정은 사용 가능했지만, 효과가 없었으며 원래 목적을 제대로 이행하지 못했습니다. 이 설정은 GitLab 17.0에서 제거될 것입니다. </div>
### GitHub 가져오기 Rake 작업
- GitLab 16.6에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의나 자세한 정보는 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/428225)를 참조하세요.
GitLab 16.6에서 [GitHub 가져오기 Rake 작업](https://docs.gitlab.com/ee/administration/raketasks/github_import.html)이 폐기되었습니다. 이 Rake 작업은 API에서 지원하는 여러 기능이 없으며 적극적으로 유지되지 않았습니다. GitLab 17.0에서는 이 Rake 작업이 제거될 것입니다. 대신, GitHub 리포지터리를 [API](https://docs.gitlab.com/ee/api/import.html#import-repository-from-github) 또는 [UI](https://docs.gitlab.com/ee/user/project/import/github.html)를 사용하여 가져올 수 있습니다.
### GitLab 레거시 요구 사항 IID가 작업 항목 IID를 선호하는 방식으로 폐기되었습니다
- GitLab 15.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의나 자세한 정보는 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/390263)를 참조하세요.
[작업 항목 유형](https://docs.gitlab.com/ee/development/work_items.html#work-items-and-work-item-types)으로 요구 사항을 이동함에 따라 새로운 IID로 전환될 것입니다. 사용자들은 레거시 IID 및 기존 포맷 지원이 GitLab 17.0에서 종료될 예정이므로 새로운 IID를 사용하기 시작해야 합니다. 레거시 요구 사항 IID는 GitLab 17.0에서 제거되기 전까지 계속 사용할 수 있습니다.
### 비주얼 리뷰 도구가 폐기되었습니다
- GitLab 15.8에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의나 자세한 정보는 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/387751)를 참조하세요.
고객 사용 및 기능이 제한되어 있기 때문에 Review Apps의 Visual Reviews 기능이 폐기되고 제거될 예정입니다. 계획된 대체품은 없으며 사용자들은 GitLab 17.0 이전에 Visual Reviews 사용을 중단해야 합니다.
### `ci_job_token_scope_enabled` 프로젝트 API 속성이 사용되지 않습니다
- GitLab 16.4에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 논의하거나 자세히 알아보려면 [use value stream analytics](https://gitlab.com/gitlab-org/gitlab/-/issues/423091)을 참조하세요.
GitLab 16.1에서 [작업 토큰 범위를 위한 API 엔드포인트](https://gitlab.com/gitlab-org/gitlab/-/issues/351740)가 소개되었습니다. [프로젝트 API](https://docs.gitlab.com/ee/api/projects.html)에서 `ci_job_token_scope_enabled` 속성은 사용되지 않으며, 17.0에서 제거될 예정입니다. 대신 [작업 토큰 범위 API](https://docs.gitlab.com/ee/api/project_job_token_scopes.html)를 사용해야 합니다.
### `gitlab-runner exec` 명령이 사용되지 않습니다
- GitLab 15.7에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 논의하거나 자세히 알아보려면 [deprecation issue](https://gitlab.com/gitlab-org/gitlab/-/issues/385235)을 참조하세요.
[`gitlab-runner exec`](https://docs.gitlab.com/runner/commands/#gitlab-runner-exec) 명령은 사용되지 않으며, 16.0에서 GitLab Runner에서 완전히 제거될 것입니다. `gitlab-runner exec` 기능은 초기에 GitLab CI 파이프라인을 로컬 시스템에서 커밋하지 않고도 유효성을 검사하는 기능을 제공하기 위해 개발되었습니다. 그러나 GitLab CI의 지속적인 발전으로 `gitlab-runner exec`에 모든 GitLab CI 기능을 복제하는 것은 더 이상 실용적이지 않았습니다. 파이프라인 구문 및 유효성 검사 [시뮬레이션](https://docs.gitlab.com/ee/ci/pipeline_editor/#simulate-a-cicd-pipeline)은 GitLab 파이프라인 편집기에서 이용할 수 있습니다.
### GitLab 에이전트의 풀 기반 배포 기능은 사용되지 않습니다
- GitLab 16.2에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 논의하거나 자세히 알아보려면 [deprecation issue](https://gitlab.com/gitlab-org/gitlab/-/issues/406545)을 참조하세요.
우리는 GitLab 에이전트의 내장 풀 기반 배포 기능이 Flux 및 관련 통합을 지원하기 위해 사용되지 않게 될 것입니다. GitLab 에이전트는 **사용되지 않음**. 이 변경사항은 에이전트의 풀 기반 기능에만 영향을 미칩니다. 다른 모든 기능은 온전히 유지될 것이며, GitLab은 계속해서 에이전트를 지원할 것입니다. 풀 기반 배포를 위해 에이전트를 사용 중이라면, [Flux로 마이그레이션](https://docs.gitlab.com/ee/user/clusters/agent/gitops/agent.html#migrate-to-flux)해야 합니다. Flux는 GitOps를 위한 성숙한 CNCF 프로젝트이기 때문에, 우리는 2023년 2월에 [Flux를 GitLab과 통합하기로 결정했습니다](https://about.gitlab.com/blog/2023/02/08/why-did-we-choose-to-integrate-fluxcd-with-gitlab/).
### 트리거 작업은 하류 파이프라인 상태를 정확히 반영할 수 없습니다
- GitLab 15.9에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 논의하거나 자세히 알아보려면 [deprecation issue](https://gitlab.com/gitlab-org/gitlab/-/issues/285493)을 참조하세요.
하류 파이프라인이 `passed with warnings` 상태인 경우와 같이 일부 상황에서, [`strategy: depend`](https://docs.gitlab.com/ee/ci/yaml/index.html#strategydepend)를 사용하는 트리거 작업은 하류 파이프라인의 상태를 정확하게 반영하지 못했습니다. GitLab 17.0에서 트리거 작업은 하류 파이프라인과 정확히 동일한 상태를 보여줄 것입니다. 만약 여러분의 파이프라인이 이 동작에 의존하고 있다면, 더 정확한 상태를 처리하도록 파이프라인을 업데이트해야 합니다.
### 트위터 OmniAuth 로그인 옵션은 자체 호스팅 GitLab에서 사용되지 않습니다
- GitLab 16.3에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 논의하거나 자세히 알아보려면 [deprecation issue](https://gitlab.com/gitlab-com/Product/-/issues/11417)을 참조하세요.
Twitter OAuth 1.0a OmniAuth는 사용되지 않으며, 낮은 사용률과 gem 지원 부족으로 인해 17.0에서 자체 호스팅 GitLab에서 제거될 것입니다. 대신 [다른 지원되는 OmniAuth 제공자](https://docs.gitlab.com/ee/integration/omniauth.html#supported-providers)를 사용하세요.
### 통합 승인 규칙은 사용되지 않습니다
- GitLab 16.1에서 발표됨 - GitLab 17.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 논의하거나 자세히 알아보려면 [deprecation issue](https://gitlab.com/groups/gitlab-org/-/epics/9662)을 참조하세요.
통합 승인 규칙은 유연성을 더 제공하는 다중 승인 규칙을 지원하기 위해 사용되지 않습니다. 다중 승인 규칙으로 매뉴얼으로 마이그레이션하는 경우 일부 변경이 손상될 수 있습니다. 매뉴얼 마이그레이션을 도와주기 위해 마이그레이션 문서를 소개했습니다. 통합 승인 규칙이 제거되기 전에 매뉴얼으로 마이그레이션하지 않으면 GitLab이 자동으로 여러분의 설정을 마이그레이션할 것입니다. GitLab 15.11에서 통합 승인 규칙에 대한 UI 지원이 제거되었습니다. 여전히 API를 통해 통합 승인 규칙에 액세스할 수 있습니다.
### GitLab SaaS 러너의 리눅스 운영 체제 버전 업그레이드
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/ci-cd/shared-runners/infrastructure/-/issues/60)를 참조하세요.
GitLab은 SaaS 러너의 리눅스 작업을 실행하는 사용되는 일시적 VM의 컨테이너화된 최적화된 운영 체제(COS)를 업그레이드하고 있습니다. 이 COS 업그레이드에는 도커 엔진 버전 19.03.15에서 버전 23.0.5로의 업그레이드가 포함되어 있으며, 이로 인해 알려진 호환성 문제가 발생합니다. 버전 20.10 이전의 Docker-in-Docker 또는 v1.9.0 이전의 Kaniko 이미지는 컨테이너 실행 환경을 감지하지 못하고 실패할 수 있습니다. 자세한 내용은 [SaaS 러너의 리눅스 운영 체제 버전 업그레이드](https://about.gitlab.com/blog/2023/10/04/updating-the-os-version-of-saas-runners-on-linux/)를 참조하십시오.
### 취약점 신뢰 필드
- GitLab 15.4에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/372332)를 참조하세요.
GitLab 15.3에서 [버전 15 이하의 보안 보고서 스키마가 폐기됨](https://docs.gitlab.com/ee/update/deprecations.html#security-report-schemas-version-14xx)을 알려드립니다. 취약점 발견에 대한 `confidence` 속성은 실제로 GitLab 15.4가 스키마 버전 `15-0-0`를 지원하기 때문에 사실상 버전 `15-0-0` 이전의 스키마에서만 존재하며 이에 따라 17.0에서 공개 API의 취약점 관련 구성요소의 `confidence` 속성이 폐기될 예정입니다.
### `Gitlab['omnibus_gitconfig']` 구성 항목이 폐기됨
- GitLab 16.10에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitaly/-/issues/5132)를 참조하세요.
`omnibus_gitconfig['system']` 구성 항목이 폐기되었습니다. Gitaly에 대한 사용자 정의 Git 구성을 설정하기 위해 `omnibus_gitconfig['system']`을 사용하는 경우 GitLab 17.0으로 업그레이드하기 전에 `gitaly[:configuration][:git][:config]`에서 직접 Git를 구성해야 합니다. 예: ```ruby gitaly[:configuration][:git][:config] = [ { key: 'fetch.fsckObjects', value: 'true', }, # ... ] ``` 구성 키의 형식은 기존 키가 `git`을 통해 전달되는 CLI 플래그 `git -c `임에 일치해야 합니다. 기존 키를 기대 형식으로 변환하는 데 문제가 있는 경우 기본적으로 구성 파일이 위치한 리눅스 패키지 생성 구성 파일에서 정확한 형식의 기존 키를 참조하세요. 기본적으로 구성 파일은 `/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` </div>
### `after_script` 키워드가 취소된 작업에 대해 실행됨
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/437789)를 참조하세요.
[`after_script`](https://docs.gitlab.com/ee/ci/yaml/#after_script) CI/CD 키워드는 작업의 주요 `script` 섹션 이후에 추가 명령을 실행하는 데 사용됩니다. 이는 주로 작업에 의해 사용된 환경 또는 다른 리소스를 정리하는 데 사용됩니다. 많은 사용자들에게 작업이 취소된 경우 `after_script` 명령이 실행되지 않는 사실이 예상치 못하고 원치 않았습니다. 17.0에서 이 키워드는 작업 취소 후에도 명령을 실행할 수 있도록 업데이트될 예정입니다. `after_script` 키워드를 사용하는 CI/CD 구성이 취소된 작업에 대해도 실행할 수 있도록 처리할 수 있는지 확인해주세요.
### `dependency_files`가 폐기됨
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/396376)를 참조하세요.
현재 GitLab에서 프로젝트의 의존성 디렉터리은 Dependency Scanning 보고서의 `dependency_files`에서 생성됩니다. 그러나 GitLab 17.0부터는 프로젝트의 의존성 디렉터리은 GitLab의 PostgreSQL 데이터베이스에 저장된 CycloneDX SBOM 보고서 아티팩트를 사용하여 그룹 의존성 디렉터리과 일관성 유지를 위해 작성될 것입니다. 따라서 Dependency Scanning 보고서 스키마의 `dependency_files` 속성이 폐기되고 17.0에서 제거될 예정입니다. 이 폐기의 일환으로 [dependency_path](https://docs.gitlab.com/ee/user/application_security/dependency_list/#dependency-paths)도 폐기될 것이며 17.0에서 제거될 예정입니다. GitLab은 [CycloneDX 사양을 사용하여 의존성 그래프를 구현](https://gitlab.com/gitlab-org/gitlab/-/issues/441118)하여 유사한 정보를 제공할 예정입니다. 또한, Container Scanning CI 작업은 17.0에서 제거되므로 더 이상 Dependency Scanning 보고서를 생성하지 않을 것입니다. 이는 CycloneDX SBOM 보고서로 대체되었으며, Container Scanning에 대한 `CS_DISABLE_DEPENDENCY_LIST` 환경 변수도 더 이상 사용되지 않으며 17.0에서 제거될 예정입니다.
### DORA API의 `metric` 필터 및 `value` 필드
- GitLab 16.8에서 발표됨 - GitLab 17.0에서 삭제됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [경로제한(Issue)](https://gitlab.com/gitlab-org/gitlab/-/issues/393172)를 확인하세요.
이제 새로운 metric 필드를 사용하여 여러 DORA(metrics)를 동시에 쿼리할 수 있습니다. Graphql DORA API의 `metric` 필터와 `value` 필드가 GitLab 17.0에서 제거될 예정입니다. </div>
### `omniauth-azure-oauth2` gem이 더 이상 사용되지 않습니다.
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 삭제됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [경로제한(Issue)](https://gitlab.com/gitlab-org/gitlab/-/issues/408989)를 확인하세요.
GitLab 사용자는 `omniauth-azure-oauth2` gem을 사용하여 GitLab에 인증할 수 있습니다. 17.0에서는 이 gem이 `omniauth_openid_connect` gem으로 대체됩니다. 새로운 gem에는 이전 gem과 동일한 모든 기능이 포함되어 있으며 상류 유지관리를 받고 있으며 보안 및 중앙 유지관리 측면에서 더 나은 성능을 발휘합니다. 이 변경으로 사용자는 마이그레이션 시 OAuth2 제공자에 다시 연결해야 합니다. 방해 없이 진행하려면 17.0 이전에 [새 공급자로 `omniauth_openid_connect`를 추가](https://docs.gitlab.com/ee/administration/auth/oidc.html#configure-multiple-openid-connect-providers)하십시오. 사용자는 새로운 로그인 버튼을 보게 되며 자신의 자격 증명을 매뉴얼으로 다시 연결해야 합니다. 17.0 이전에 `omniauth_openid_connect` gem을 구현하지 않으면 사용자는 Azure 로그인 버튼을 통한 로그인을 더는 할 수 없게 되며 올바른 gem이 관리자에 의해 구현될 때까지 사용자 이름과 암호를 사용하여 로그인해야 합니다.
### `postgres_exporter['per_table_stats']` 구성 설정
- GitLab 16.4에서 발표됨 - GitLab 17.0에서 삭제됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [경로제한(Issue)](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/8164)를 확인하세요.
Linux 패키지는 번들 PostgreSQL 수집기를 위해 `per_table_stats` 질의를 제공했으며, 이는 `postgres_exporter['per_table_stats']` 구성 설정으로 제어되었습니다. 이제 PostgreSQL 수집기는 동일한 지표를 제공하는 `stat_user_tables` 수집기를 제공합니다. 따라서 `postgres_exporter['per_table_stats']`를 사용하던 경우 대신 `postgres_exporter['flags']['collector.stat_user_tables']`를 활성화하세요.
### `sidekiq`의 `incoming_email` 및 `service_desk_email` 전달 방식이 사용되지 않음
- GitLab 16.0에서 발표됨 - GitLab 17.0에서 삭제됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [경로제한(Issue)](https://gitlab.com/gitlab-org/gitlab/-/issues/398132)를 확인하세요.
`incoming_email` 및 `service_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자 base 64 인코딩)을 구성할 수 있으며, `incoming_email_secret_file` 및 `service_desk_email_secret_file`에서 시크릿 파일을 참조해야 합니다(항상 절대 경로를 지정하십시오): ```shell echo $( ruby -rsecurerandom -e "puts SecureRandom.base64(32)" ) > ~/.gitlab-mailroom-secret ``` 여러 대의 기계에서 GitLab을 실행하는 경우, 각 기계에 대해 시크릿 키 파일을 제공해야 합니다. GitLab 관리자는 `incoming_email_delivery_method` 및 `service_desk_email_delivery_method`의 `sidekiq` 대신 `webhook` 전달 방식으로 전환하는 것을 장려합니다. [Issue 393157](https://gitlab.com/gitlab-org/gitlab/-/issues/393157)은 일반적으로 이메일 수집을 개선하는 데 사용되며, 이로 인해 곧 미래에 GitLab를 관리하는 방법에 대한 여러 개선이 이루어질 것으로 기대됩니다.
### npm 패키지 업로드는 이제 비동기적으로 발생합니다.
- GitLab 16.9에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라진 사항 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/433009)를 확인하세요.
GitLab 패키지 레지스트리는 npm과 Yarn을 지원합니다. npm이나 Yarn 패키지를 업로드하면 업로드가 동기적으로 이루어집니다. 그러나 동기적인 업로드에 문제가 있습니다. 예를 들어, GitLab은 [overrides](https://gitlab.com/gitlab-org/gitlab/-/issues/432876)와 같은 기능을 지원하지 않습니다. 17.0부터 npm과 Yarn 패키지는 비동기적으로 업로드됩니다. 이것은 중요한 변경 사항입니다. 왜냐하면 발행되는 즉시 패키지를 기대하는 파이프라인이 있을 수 있기 때문입니다. 일시적인 해결책으로 패키지를 확인하기 위해 [패키지 API](https://docs.gitlab.com/ee/api/packages.html)를 사용해야 합니다.
### project.pipeline.securityReportFindings GraphQL 쿼리
- GitLab 15.1에서 발표됨 - GitLab 17.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라진 사항 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/343475)를 확인하세요.
이전 작업은 [파이프라인 보안 탭에 대한 취약성 호출을 일치시킴](https://gitlab.com/gitlab-org/gitlab/-/issues/343469)으로 도움이 되었습니다. 이로써, 프론트엔드에서 더 일관된 인터페이스를 갖게 되었습니다. 구식인 `project.pipeline.securityReportFindings` 쿼리는 다른 취약성 데이터 호출과 다르게 형식화되어 있었습니다. 이제 새로운 `project.pipeline.vulnerabilities` 필드로 대체되었기 때문에 구식인 `project.pipeline.securityReportFindings`이 폐지되고 GitLab 17.0에서 제거될 예정입니다.
</div>
## GitLab 16.9
### `lfs_check` 피처 플래그의 폐지
- GitLab 16.6에서 발표됨 - GitLab 16.9에서 제거됨 - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라진 사항 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/233550)를 확인하세요.
GitLab 16.9에서는 `lfs_check` 피처 플래그가 제거될 예정입니다. 이 피처 플래그는 4년 전에 [도입되었으며](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/60588) LFS 무결성 확인이 활성화되는지 여부를 제어합니다. 이 피처 플래그는 기본적으로 활성화되어 있지만, 일부 고객은 LFS 무결성 확인과 관련된 성능 문제를 경험하고 명시적으로 비활성화했습니다. LFS 무결성 확인의 성능을 [중대하게 향상](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61355)한 후, 이제 피처 플래그를 제거할 준비가 되었습니다. 플래그가 제거되면 현재 비활성화된 환경에서 이 기능은 자동으로 활성화됩니다. 이 피처 플래그가 환경에서 비활성화된 경우, 성능 문제에 대해 우려된다면 제거 전에 성능을 모니터링하기 위해 이를 활성화하고 주세요. 활성화한 후에 성능 문제가 발견된다면 [이 피드백 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/233550)에서 알려주십시오.
## GitLab 16.8
### openSUSE Leap 15.4 패키지
- GitLab 16.5에서 발표됨 - GitLab 16.8에서 제거됨 - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라진 사항 issue](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/8212)를 확인하세요.
openSUSE Leap 15.4에 대한 지원 및 보안 업데이트가 [2023년 11월에 종료](https://en.opensuse.org/Lifetime#openSUSE_Leap)됩니다. GitLab 15.4에서 openSUSE Leap 15.5용 패키지를 제공했습니다. GitLab 15.8부터는 openSUSE Leap 15.4용 패키지를 제공하지 않을 것입니다. GitLab 15.8 이후를 위해 다음을 준비해야 합니다: 1. openSUSE Leap 15.4 인스턴스를 openSUSE Leap 15.5로 이동합니다. 1. openSUSE Leap 15.4용 GitLab 제공 패키지에서 openSUSE Leap 15.5용 GitLab 제공 패키지로 전환합니다.
## GitLab 16.7
### Shimo 통합
- GitLab 15.7에서 발표됨 - GitLab 16.7에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라진 사항 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/377824)를 확인하세요.
[Shimo Workspace 통합](https://docs.gitlab.com/ee/user/project/integrations/shimo.html)이 폐지되었으며 JiHu GitLab 코드베이스로 이동될 것입니다.
### `user_email_lookup_limit` API 필드
- GitLab 14.9에서 발표됨 - GitLab 16.7에서 제거됨 ([중요 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
`user_email_lookup_limit` [API 필드](https://docs.gitlab.com/ee/api/settings.html)는 GitLab 14.9에서 폐기되었으며 GitLab 16.7에서 제거되었습니다. 해당 기능이 제거될 때까지 `user_email_lookup_limit`은 `search_rate_limit`로 별칭 지어지며 기존 워크플로는 계속 작동합니다. `user_email_lookup_limit`의 속도 제한을 변경하는 모든 API 호출은 대신 `search_rate_limit`을 사용해야 합니다.
## GitLab 16.6
### 작업 토큰 허용 디렉터리은 공개 및 내부 프로젝트 대상입니다
- GitLab 16.3에서 발표됨 - GitLab 16.6에서 제거됨 ([중요 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [중요 변경 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/420678)를 참조하세요.
16.6부터, **공개** 또는 **내부**인 프로젝트는 [**이 프로젝트의 액세스 제한**](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#add-a-project-to-the-job-token-allowlist)이 활성화된 프로젝트가 **허용 디렉터리**에 없는 경우에는 해당 프로젝트로부터의 작업 토큰 요청을 더 이상 허용하지 않습니다. **이 프로젝트의 액세스 제한** 설정이 활성화된 **공개 또는 내부** 프로젝트가 있는 경우, 작업 토큰 요청을 하는 모든 프로젝트를 프로젝트의 허용 디렉터리에 추가하여 계속하여 권한 부여해야 합니다.
## GitLab 16.5
### LDAP 동기화되지 않은 멤버를 잠긴 LDAP 그룹에 추가하는 것이 폐기됨
- GitLab 16.0에서 발표됨 - GitLab 16.5에서 제거됨 - 이 변경 사항에 대한 토론이나 자세한 내용은 [중요 변경 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/213311)를 참조하세요.
`ldap_settings_unlock_groups_by_owners` 피처 플래그를 활성화하면 LDAP 동기화되지 않은 사용자를 잠긴 LDAP 그룹에 추가할 수 있었습니다. 이 [기능](https://gitlab.com/gitlab-org/gitlab/-/issues/1793)은 항상 기본적으로 비활성화되었고 피처 플래그로 숨겨져 있었습니다. 우리는 SAML 통합과의 연속성을 유지하기 위해, 그리고 비동기화된 그룹 멤버를 허용하는 것이 디렉터리 서비스를 사용하는 "단일 정보원" 원칙을 위반하므로 이 기능을 제거합니다. 이 기능이 제거되면, LDAP 그룹 멤버가 LDAP과 동기화되지 않으면 해당 그룹의 액세스 권한을 상실하게 됩니다.
### Geo: 하우스키퍼링 Rake 태스크
- GitLab 16.3에서 발표됨 - GitLab 16.5에서 제거됨 ([중요 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [중요 변경 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/416384)를 참조하세요.
[Geo self-service framework (SSF)](https://docs.gitlab.com/ee/development/geo/framework.html)로의 복제 및 확인의 마이그레이션의 일환으로 프로젝트 리포지터리의 레거시 복제가 [제거](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/130565)되었습니다. 따라서 레거시 코드에 의존하는 다음 Rake 태스크도 제거되었습니다. 이제 이 Rake 태스크에서 호출되는 작업은 주기적으로 또는 트리거 이벤트에 따라 자동으로 트리거됩니다. | Rake 태스크 | 대체 | | ----------- | ----- | | `geo:git:housekeeping:full_repack` | [UI로 이동](https://docs.gitlab.com/ee/administration/housekeeping.html#heuristical-housekeeping). SSF에 해당하는 동등한 Rake 태스크 없음. | | `geo:git:housekeeping:gc` | 새 리포지터리에 대해 항상 실행되고, 필요한 경우에 실행됩니다. SSF에 해당하는 동등한 Rake 태스크 없음. | | `geo:git:housekeeping:incremental_repack` | 필요한 경우에 실행됩니다. SSF에 해당하는 동등한 Rake 태스크 없음. | | `geo:run_orphaned_project_registry_cleaner` | 고아 레지스트리를 제거하는 레지스트리 [일관성 워커](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/workers/geo/secondary/registry_consistency_worker.rb)에 의해 정기적으로 실행됩니다. 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에서 제거됨 ([중요 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [중요 변경 이슈](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7772)를 참조하세요.
Omnibus GitLab에 번들된 Grafana의 버전은 16.0에서 폐기되었으며 16.3에서 제거될 예정입니다. 번들된 Grafana를 사용 중이라면 다음 중 하나로 마이그레이션해야 합니다: - Grafana의 다른 구현. 자세한 내용은 [새 Grafana 인스턴스로 전환](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html#switch-to-new-grafana-instance)를 참조하세요. - 사용자가 선택한 기타 관측 플랫폼. 현재 제공되는 Grafana 버전은 더 이상 지원되지 않습니다. 16.0부터 16.2까지의 GitLab 버전에서는 여전히 [번들된 Grafana를 다시 활성화](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html#temporary-workaround)할 수 있습니다. 그러나 16.3부터는 더 이상 번들된 Grafana를 활성화할 수 없게 됩니다.
### 라이선스 컴플라이언스 CI 템플릿
- GitLab 15.9에서 발표. - GitLab 16.3에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라짐 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/387561)를 참조하세요.
**업데이트:** 이전에는 GitLab 16.0에서 기존 라이선스 컴플라이언스 CI 템플릿을 제거할 것이라고 발표했습니다. 그러나 [CycloneDX 파일의 라이선스 스캔](https://docs.gitlab.com/ee/user/compliance/license_scanning_of_cyclonedx_files/)에 대한 성능 문제로 대신 16.3에서 이를 실행할 예정입니다. GitLab [**라이선스 컴플라이언스**](https://docs.gitlab.com/ee/user/compliance/license_compliance/) 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](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라짐 이슈](https://gitlab.com/groups/gitlab-org/-/epics/11186)를 참조하세요.
Go 버전 1.20.7 이후로 `maxRSAKeySize` 상수가 추가되어 RSA 키가 최대 8192비트로 제한됩니다. 따라서 8192비트보다 큰 RSA 키는 더 이상 GitLab에서 작동하지 않습니다. 8192비트보다 큰 RSA 키는 작은 크기로 다시 생성해야 합니다. 로그에 `tls: server sent certificate containing RSA key larger than 8192 bits`와 같은 오류가 포함되어 있어 이 문제를 인지할 수 있습니다. 키의 길이를 테스트하려면 다음 명령을 사용하세요: `openssl rsa -in -text -noout | grep "Key:"`. </div>
### GitLab.com에서 Twitter OmniAuth 로그인 옵션 제거됨
- GitLab 16.3에서 발표. - GitLab 16.3에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라짐 이슈](https://gitlab.com/gitlab-com/Product/-/issues/11417)를 참조하세요.
Twitter OAuth 1.0a OmniAuth가 사용률이 낮고 젬 지원이 없으며 이 기능을 위한 기능적인 로그인 옵션이 없어 GitLab.com에서 GitLab 16.3에서 제거됩니다. Twitter로 GitLab.com에 로그인하는 경우 패스워드나 다른 [지원되는 OmniAuth 제공자](https://gitlab.com/users/sign_in)로 로그인할 수 있습니다.
</div>
## GitLab 16.1
### Alpine 3.12, 3.13, 3.14 기반의 GitLab Runner 이미지
- GitLab 15.11에서 발표. - 지원 종료: GitLab 16.1 - GitLab 16.1에서 제거 예정 - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [사라짐 이슈](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29639)를 참조하세요.
다음과 같은 지원 종료 알파인 버전을 기반으로하는 러너 이미지의 게시를 중단합니다: - Alpine 3.12 - Alpine 3.13 - Alpine 3.14 (2023-05-23 종료 지원)
## GitLab 16.0
### Auto DevOps는 더 이상 기본적으로 PostgreSQL 데이터베이스를 프로비저닝하지 않음
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 더 자세히 알아보려면 [폐기 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/343988)를 참조하세요.
현재, Auto DevOps는 기본적으로 클러스터 내부의 PostgreSQL 데이터베이스를 프로비저닝합니다. GitLab 16.0에서 데이터베이스는 사용자가 선택하는 경우에만 프로비저닝됩니다. 이 변경은 더 견고한 데이터베이스 관리가 필요한 프로덕션 배포를 지원합니다. Auto DevOps에 클러스터 내 데이터베이스를 프로비저닝하려면 `POSTGRES_ENABLED` CI/CD 변수를 `true`로 설정하세요.
### Azure Storage Driver의 기본 루트 접두어 변경
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 더 자세히 알아보려면 [폐기 issue](https://gitlab.com/gitlab-org/container-registry/-/issues/854)를 참조하세요.
컨테이너 레지스트리의 Azure Storage Driver는 기본 루트 디렉터리로 `//`를 기록합니다. 이 기본 루트 디렉터리는 Azure UI 내에서 `//`으로 표시됩니다. 이전에 이 스토리지 드라이버를 사용하던 오래된 배포를 지원하기 위해 이전 동작을 유지했습니다. 그러나 기존 스토리지 드라이버에서 Azure로 옮길 때 이 동작은 추가 선행 슬래시를 제거하여 루트 경로를 만들도록 스토리지 드라이버를 구성하기 전까지 모든 데이터가 숨겨지게 됩니다. 스토리지 드라이버의 새로운 기본 구성에서는 `trimlegacyrootprefix: true`가 설정되고 `/`가 기본 루트 디렉터리로 사용됩니다. 현재 구성에 `trimlegacyrootprefix: false`를 추가하여 임의의 중단을 피할 수 있습니다. 이 변경 사항은 GitLab 16.0에서 발생합니다. </div>
### 번들로 제공되는 Grafana Helm 차트는 더 이상 지원되지 않음
- GitLab 15.10에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 더 자세히 알아보려면 [폐기 issue](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/4353)를 참조하세요.
GitLab Helm 차트와 함께 번들로 제공되는 Grafana Helm 차트는 폐기되고 GitLab Helm 차트 7.0 릴리스(16.0 버전과 함께 릴리스됨)에서 제거될 예정입니다. 번들로 제공되는 Grafana Helm 차트는 옵션으로 제공되며, GitLab Helm 차트의 Prometheus 지표에 연결된 Grafana UI를 제공할 수 있습니다. GitLab Helm 차트가 현재 제공하는 Grafana 버전은 더 이상 지원되지 않는 버전입니다. 번들로 제공되는 Grafana를 사용 중이라면 [Grafana Labs에서 제공하는 더 최신의 차트 버전](https://artifacthub.io/packages/helm/grafana/grafana)이나 신뢰할 수 있는 제공업체의 Grafana Operator로 변경해야 합니다. 새로운 Grafana 인스턴스에서 [GitLab에서 제공하는 Prometheus를 데이터 소스로 구성](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html#configure-grafana)하고 [Grafana를 GitLab UI에 연동](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html#integrate-with-gitlab-ui)할 수 있습니다.
### CAS OmniAuth 제공 업체
- GitLab 15.3에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 더 자세히 알아보려면 [폐기 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/369127)를 참조하세요.
GitLab에 CAS OmniAuth 제공 업체를 제공하는 `omniauth-cas3` gem은 다음 주요 릴리스인 GitLab 16.0에서 제거될 예정입니다. 이 gem은 거의 사용되지 않으며 상류 유지보수가 없어 GitLab의 [OmniAuth 2.0 업그레이드를 불가능하게 합니다](https://gitlab.com/gitlab-org/gitlab/-/issues/30073).
### Hashicorp Vault에서 비밀이 반환되지 않을 때 CI/CD 작업이 실패함
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 더 자세히 알아보려면 [폐기 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/353080)를 참조하세요.
네이티브 HashiCorp Vault 통합을 사용할 때 Vault에서 비밀이 반환되지 않으면 CI/CD 작업이 실패합니다. 이 변경 사항을 처리하고자 하기 전에 구성이 항상 비밀을 반환하도록 하거나 GitLab 16.0 이전에 이 변경 사항을 처리할 수 있도록 파이프라인을 업데이트하세요.
### 멀티 모듈 안드로이드 프로젝트에서 MobSF 기반 SAST 분석기 동작 변경
- GitLab 16.0에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 더 자세히 알아보려면 [폐기 issue](https://gitlab.com/gitlab-org/gitlab/-/issues/408396)를 참조하세요.
**업데이트:** 이전에 MobSF 기반 GitLab SAST 분석기가 멀티 모듈 안드로이드 프로젝트를 스캔하는 방식을 변경한다는 내용을 알렸습니다. 이 변경은 취소되었으며, 추가 조치가 필요하지 않습니다. 단일 모듈 스캔 대신 [멀티 모듈 지원을 향상시켰습니다](https://gitlab.com/gitlab-org/security-products/analyzers/mobsf/-/merge_requests/73).
### `/approvals` API 엔드포인트를 통한 Merge Request 승인 변경
- GitLab 14.0에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세히 알아보려면 [제거 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/353097)를 참조하세요.
Merge Request에 필요한 승인을 변경하려면 GitLab 14.0에서 사용이 중단된 `/approvals` API 엔드포인트를 더 이상 사용해서는 안 됩니다. 대신, Merge Request에 대한 승인 규칙을 만들거나 업데이트하려면 [`/approval_rules` 엔드포인트](https://docs.gitlab.com/ee/api/merge_request_approvals.html#merge-request-level-mr-approvals)를 사용하세요. Merge Request에 대한 승인 규칙을 [생성](https://docs.gitlab.com/ee/api/merge_request_approvals.html#create-merge-request-level-rule)하거나 [업데이트](https://docs.gitlab.com/ee/api/merge_request_approvals.html#update-merge-request-level-rule)할 수 있습니다.
### Conan 프로젝트 수준 검색 엔드포인트가 프로젝트별 결과를 반환합니다
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세히 알아보려면 [제거 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/384455)를 참조하세요.
GitLab Conan 리포지터리를 [프로젝트 수준](https://docs.gitlab.com/ee/user/packages/conan_repository/#add-a-remote-for-your-project) 또는 [인스턴스 수준](https://docs.gitlab.com/ee/user/packages/conan_repository/#add-a-remote-for-your-instance) 엔드포인트와 함께 사용할 수 있습니다. 각 수준에서는 conan 검색 명령을 지원합니다. 그러나 프로젝트 수준의 검색 엔드포인트는 대상 프로젝트 외부에서 패키지를 반환하고 있습니다. GitLab 15.8에서 이러한 의도하지 않은 기능은 사용 중지되며 GitLab 16.0에서 제거될 예정입니다. 프로젝트 수준의 검색 엔드포인트는 대상 프로젝트에서만 패키지를 반환하게 됩니다.
### GitLab Runner Helm 차트의 구성 필드
- GitLab 15.6에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세히 알아보려면 [제거 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/379064)를 참조하세요.
GitLab 13.6부터 사용자는 [GitLab Runner Helm 차트](https://docs.gitlab.com/runner/install/kubernetes.html)에서 모든 runner 구성을 지정할 수 있습니다. 이 기능을 구현할 때, GitLab Runner와 관련된 GitLab Helm 차트 구성에서 사용되는 값들은 사용 중지되었으며 GitLab Runner Helm 차트의 v1.0에서 제거할 계획입니다.
### 환경 변수를 사용하여 Redis 구성 파일 경로 구성
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세히 알아보려면 [제거 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/388255)를 참조하세요.
이제 `GITLAB_REDIS_CACHE_CONFIG_FILE` 또는 `GITLAB_REDIS_QUEUES_CONFIG_FILE`와 같은 환경 변수를 사용하여 Redis 구성 파일 위치를 지정할 수 없습니다. 대신 기본 구성 파일 위치를 사용하세요. 예를 들어 `config/redis.cache.yml` 또는 `config/redis.queues.yml`입니다.
### Docker를 참조하는 Container Scanning 변수
- GitLab 15.4에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세히 알아보려면 [제거 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/371840)를 참조하세요.
변수 이름이 `DOCKER_`로 시작하는 모든 Container Scanning 변수는 사용 중지되었습니다. 이에는 `DOCKER_IMAGE`, `DOCKER_PASSWORD`, `DOCKER_USER`, `DOCKERFILE_PATH` 등이 포함됩니다. 이러한 변수들의 지원은 GitLab 16.0 릴리스에서 제거될 예정입니다. 사용 중지된 이름 대신 [새로운 변수 이름](https://docs.gitlab.com/ee/user/application_security/container_scanning/#available-cicd-variables)인 `CS_IMAGE`, `CS_REGISTRY_PASSWORD`, `CS_REGISTRY_USER`, `CS_DOCKERFILE_PATH`를 사용하세요.
### Container 레지스트리 Pull-Through Cache
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세히 알아보려면 [제거 사항 이슈](https://gitlab.com/gitlab-org/container-registry/-/issues/842)를 참조하세요.
GitLab 15.8에서 컨테이너 레지스트리의 [pull-through cache](https://docs.docker.com/docker-hub/mirror/)가 사용 중지되었으며 GitLab 16.0에서 제거될 예정입니다. Pull-through cache는 상위 [Docker Distribution 프로젝트](https://github.com/distribution/distribution)의 일부입니다. 그러나 우리는 GitLab Dependency Proxy를 선호하여 Docker Hub에서 컨테이너 이미지를 프록시하고 캐시할 수 있는 기능을 제공하기 위해 pull-through cache를 제거합니다. Pull-through cache를 제거함으로써 상위 클라이언트 코드도 손실하지 않고 기능을 유지할 수 있게 됩니다.
### GitLab for Jira Cloud 앱에서의 쿠키 인가
- GitLab 15.8에서 공지됨 - GitLab 16.0에서 제거됨 ([파괴적인 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/387299)를 참조하세요.
GitLab for Jira Cloud 앱의 쿠키 인증은 이제 OAuth 인증을 선호하는 것으로 사용이 중단되었습니다. Self-managed 시스템에서는 계속해서 GitLab for Jira Cloud 앱을 사용하려면 [OAuth 인증을 설정](https://docs.gitlab.com/ee/integration/jira/connect-app.html#set-up-oauth-authentication-for-Self-managed-instances)해야 합니다. OAuth를 사용하지 않으면 연결된 네임스페이스를 관리할 수 없습니다.
### DAST 템플릿을 사용한 DAST API 스캔이 중지됨
- GitLab 15.7에서 공지됨 - GitLab 16.0에서 제거됨 ([파괴적인 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/384198)를 참조하세요.
새로운 DAST API 분석기로 이동하면서 DAST 분석기를 사용한 API 스캔 기능이 제거될 예정입니다. DAST 분석기를 사용한 API 스캔에 대한 `DAST.gitlab-ci.yml` 또는 `DAST-latest.gitlab-ci.yml` 템플릿 사용은 GitLab 15.7에서 중지되며, GitLab 16.0에서 더 이상 작동하지 않을 것입니다. API 스캔에 대한 `DAST-API.gitlab-ci.yml` 템플릿을 사용하고 구성 세부 정보는 [DAST API 분석기](https://docs.gitlab.com/ee/user/application_security/dast_api/#configure-dast-api-with-an-openapi-specification) 설명서를 참조하세요.
### DAST API 변수
- GitLab 15.7에서 공지됨 - GitLab 16.0에서 제거됨 ([파괴적인 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/383467)를 참조하세요.
GitLab 15.6에서 새로운 DAST API 분석기로 전환되면서 두 가지 구식 DAST API 변수가 중지될 예정입니다. `DAST_API_HOST_OVERRIDE` 및 `DAST_API_SPECIFICATION` 변수는 더 이상 DAST API 스캔에 사용되지 않을 것입니다. `DAST_API_HOST_OVERRIDE`는 OpenAPI 사양에서 호스트를 자동으로 재정의하는 데 사용되는 `DAST_API_TARGET_URL`을 선호하는 것으로 중지되었습니다. `DAST_API_SPECIFICATION`는 `DAST_API_OPENAPI`로 대체되어 더 이상 사용되지 않을 예정입니다. 테스트를 안내하기 위해 여전히 OpenAPI 사양을 사용하려면 사용자는 `DAST_API_SPECIFICATION` 변수를 `DAST_API_OPENAPI` 변수로 대체해야 합니다. 값은 동일하게 유지되지만 변수 이름은 대체되어야 합니다. 이러한 두 가지 변수는 GitLab 16.0에서 제거될 것입니다.
### DAST 리포트 변수 중지 예정
- GitLab 15.7에서 공지됨 - GitLab 16.0에서 제거됨 ([파괴적인 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/384340)를 참조하세요.
GitLab 15.7에서 브라우저 기반 DAST 분석기의 GA로 이동함에 따라 미래에는 이를 기본 DAST 분석기로 만들기 위해 노력하고 있습니다. 이에 따라 다음과 같은 구식 DAST 변수가 중지 예정이며 GitLab 16.0에서 삭제될 것입니다: `DAST_HTML_REPORT`, `DAST_XML_REPORT`, 및 `DAST_MARKDOWN_REPORT`. 이러한 리포트는 구식 DAST 분석기에서 의존하고 있으며 새 브라우저 기반 분석기에는 구현할 계획이 없습니다. GitLab 16.0부터 이러한 리포트 아티팩트가 생성되지 않을 것입니다. 이 세 가지 변수는 GitLab 16.0에서 제거될 것입니다.
### 기본 CI/CD 작업 토큰 (`CI_JOB_TOKEN`) 범위 변경
- GitLab 15.9에서 공지됨 - GitLab 16.0에서 제거됨 ([파괴적인 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/395708)를 참조하세요.
GitLab 14.4에서 프로젝트의 CI/CD 작업 토큰을 [제한하는 기능을](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#limit-your-projects-job-token-access) 도입했습니다. 이렇게 함으로써 프로젝트의 파이프라인에서의 작업 토큰이 다른 프로젝트에 액세스되는 것을 방지할 수 있습니다. 다른 구성 없이 활성화하면 파이프라인에서 다른 프로젝트에 액세스할 수 없습니다. 파이프라인에서 다른 프로젝트에 액세스하려면 **CI_JOB_TOKEN 액세스 제한** 설정의 허용 디렉터리에서 해당 프로젝트를 명시적으로 나열하고 모든 프로젝트에서 유지자이어야 합니다. 15.9에서 작업 토큰 기능이 개선되어 [작업 토큰으로 프로젝트에 액세스를 허용할 수](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#add-a-project-to-the-job-token-allowlist) 있는 더 좋은 보안 설정이 도입되었습니다. 다른 구성 없이 활성화하면 다른 프로젝트의 작업 토큰이 해당 프로젝트에 액세스할 수 없습니다. 이전 설정과 유사하게 새 설정에서는 허용 디렉터리에 해당 프로젝트를 명시하면 다른 프로젝트에서 여전히 해당 프로젝트에 작업 토큰으로 액세스할 수 있습니다. 이 새 설정에서는 해당 프로젝트의 유지자이어야 하지만 다른 프로젝트에서는 게스트 역할만 있어도 됩니다. 결과적으로 **제한** 설정은 더 나은 **액세스 허용** 설정을 선호하도록 하여 폐기됩니다. 16.0에서 **제한** 설정은 모든 새로운 프로젝트에 대해 기본으로 비활성화될 것입니다. 현재 해당 설정이 활성화된 프로젝트에서 해당 설정은 여전히 예상대로 기능할 수 있지만, 더 이상 디렉터리에 다른 프로젝트를 추가할 수 없을 것입니다. 16.0 이후에 이 설정을 비활성화하면 16.0 이후에 이 설정을 다시 활성화할 수 없습니다. 18.0에서는 **제한** 설정의 이름이 완전히 제거되고 **액세스 허용** 설정이 모든 프로젝트에 대해 활성화될 예정입니다. 이 변경으로 인해 프로젝트 간의 보안 수준이 높아지게 됩니다. 현재 **제한** 설정을 사용 중이라면 프로젝트를 **액세스 허용** 설정을 사용하도록 업데이트해야 합니다. 다른 프로젝트가 작업 토큰을 사용하여 해당 프로젝트에 액세스하는 경우 해당 프로젝트를 **액세스 허용** 허용 디렉터리에 추가해야 합니다. 이 변경에 대비하기 위해 GitLab.com이나 GitLab 15.9 이상의 Self-managed GitLab을 사용하는 사용자는 지금 **액세스 허용** 설정을 활성화하고 다른 프로젝트를 추가할 수 있습니다. 18.0 이후에는 설정을 비활성화할 수 없을 것입니다. 16.3에서 이러한 설정의 이름이 의미를 명확히하기 위해 변경되었습니다: 폐기된 **제한 CI_JOB_TOKEN 액세스** 설정은 이제 **이 프로젝트로부터의 액세스 제한**이라고 부르며, 새로운 **이 프로젝트에 대한 CI_JOB_TOKEN으로의 액세스를 허용** 설정은 이제 **이 프로젝트로의 액세스 제한**이라고 부릅니다.
### Java 13, 14, 15, 및 16에 대한 의존성 스캔 지원
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론하거나 자세히 알아보려면 [중단 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/387560)를 참조하세요.
GitLab은 Java 13, 14, 15, 및 16 버전에 대한 의존성 스캔 지원을 중단하고, 향후 GitLab 16.0 릴리스에서 해당 지원을 제거할 예정입니다. 이는 [오라클의 지원 정책](https://www.oracle.com/java/technologies/java-se-support-roadmap.html)과 일치하며, 이러한 버전에 대한 오라클 프리미어 및 확장 지원이 종료되었기 때문입니다. 또한, 이로써 GitLab은 LTS(Long-Term Support) 버전의 Java에 대한 의존성 스캔 지원에 중점을 두게 됩니다.
### `updated_at` 및 `updated_at`가 함께 사용되지 않을 때 Deployment API에서 오류 반환
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론하거나 자세히 알아보려면 [중단 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/328500)를 참조하세요.
Deployment API는 이제 `updated_at` 필터링과 `updated_at` 정렬이 함께 사용되지 않을 때 오류를 반환합니다. 일부 사용자는 `updated_at`로 필터링하여 `updated_at` 정렬을 사용하지 않고 "latest" 배포를 가져오고 있었는데, 이는 잘못된 결과를 초래할 수 있습니다. 대신, 이 두 요소를 함께 사용하거나, "latest deployments"를 일관된 방식으로 얻을 수 있는 `finished_at` 필터링과 `finished_at` 정렬로 마이그레이션하는 것이 좋습니다.
### 레거시 Gitaly 구성 방법의 지원 중단 예정
- GitLab 14.8에서 발표됨 - GitLab 16.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론하거나 자세히 알아보려면 [중단 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352609)를 참조하세요.
`GIT_CONFIG_SYSTEM` 및 `GIT_CONFIG_GLOBAL` 환경 변수를 사용하여 Gitaly를 구성하는 것은 [폐지되었습니다](https://gitlab.com/gitlab-org/gitlab/-/issues/352609). 이러한 변수는 표준적인 [`config.toml` Gitaly 구성](https://docs.gitlab.com/ee/administration/gitaly/reference.html)으로 대체됩니다. Gitaly를 구성하기 위해 `GIT_CONFIG_SYSTEM` 및 `GIT_CONFIG_GLOBAL`을 사용하는 GitLab 인스턴스는 대신 `config.toml`을 사용하도록 변경해야 합니다.
### Deprecated Consul http metrics
- GitLab 15.10에서 발표됨 - GitLab 16.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론하거나 자세히 알아보려면 [중단 사항 문제](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7278)를 참조하세요.
GitLab Omnibus 패키지에서 제공되는 Consul은 GitLab 16.0부터 더 이상 과거의 폐기된 Consul 메트릭을 제공하지 않을 것입니다. GitLab 14.0에서 [Consul이 1.9.6으로 업데이트되었으며](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/5344), `consul.http` 경로에서 일부 텔메트리 메트릭이 폐지되었습니다. GitLab 16.0에서 `consul.http` 경로가 제거될 예정입니다. Consul 메트릭을 사용하는 모니터링이 있다면, `consul.http` 대신 `consul.api.http`를 사용하도록 업데이트해야 합니다. 더 많은 정보는 [Consul 1.9.0의 폐기 관련 정보](https://github.com/hashicorp/consul/releases/tag/v1.9.0)를 참조하세요.
### GitLab SaaS의 `CI_PRE_CLONE_SCRIPT` 변수에 대한 폐지 및 제거 예정
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론하거나 자세히 알아보려면 [중단 사항 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/391896)를 참조하세요.
GitLab SaaS 러너에서 지원되는 [`CI_PRE_CLONE_SCRIPT` 변수](https://docs.gitlab.com/ee/ci/runners/saas/linux_saas_runner.html#pre-clone-script)가 GitLab 15.9를 기준으로 폐지되며, 16.0에서 제거될 예정입니다. `CI_PRE_CLONE_SCRIPT` 변수를 사용하면 CI/CD 작업에서 러너가 Git init 및 get fetch를 실행하기 전에 명령을 실행할 수 있습니다. 이 기능이 작동하는 방법에 대한 자세한 정보는 [Pre-clone script](https://docs.gitlab.com/ee/ci/runners/saas/linux_saas_runner.html#pre-clone-script)을 참조하세요. 대체로는 [`pre_get_sources_script`](https://docs.gitlab.com/ee/ci/yaml/#hookspre_get_sources_script)을 사용할 수 있습니다.
### 그룹에 프로젝트를 가져오는 능력을 제공하는 개발자 역할
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 정보는 [deprecated된 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/387891)를 확인하세요.
개발자 역할을 가진 사용자가 해당 그룹으로 프로젝트를 가져오는 능력은 GitLab 15.8에서 deprecate되었으며 GitLab 16.0에서 제거될 것입니다. GitLab 16.0부터는 해당 그룹으로 프로젝트를 가져올 수 있는 권한은 적어도 Maintainer 역할을 가진 사용자에게만 있습니다.
### PHP 및 Python 개발 의존성 보고
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 정보는 [deprecated된 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/375505)를 확인하세요.
GitLab 16.0에서 GitLab 의존성 스캐닝 분석기는 Python/pipenv 및 PHP/composer 프로젝트의 개발 의존성을 보고하기 시작할 것입니다. 이러한 개발 의존성을 보고하고 싶지 않은 사용자는 CI/CD 파일에서 `DS_INCLUDE_DEV_DEPENDENCIES: false`를 설정해야 합니다.
### Markdown에서 Grafana 패널을 임베드하는 것이 deprecated됨
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 정보는 [deprecated된 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/389477)를 확인하세요.
GitLab Flavored Markdown에서 Grafana 패널을 추가하는 기능은 15.9에서 deprecate되었으며 16.0에서 제거될 예정입니다. 우리는 이 기능을 [차트를 임베드](https://gitlab.com/groups/gitlab-org/opstrace/-/epics/33)하고 [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui)로 대체할 예정입니다.
### CI/CD 매개변수 문자 길이의 강제 유효성 검사
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 정보는 [deprecated된 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/372770)를 확인하세요.
CI/CD [작업 이름](https://docs.gitlab.com/ee/ci/jobs/index.html#job-name-limitations)은 엄격한 255자 제한이 있지만, 다른 CI/CD 매개변수에는 아직 이 제한을 적용하는 검증이 없습니다. GitLab 16.0에서 다음과 같은 항목도 255자로 엄격히 제한하는 검증이 추가될 것입니다: - `stage` 키워드. - 파이프라인의 Git 브랜치 또는 태그 이름인 `ref`. - 외부 CI/CD 통합에서 사용되는 `description` 및 `target_url` 매개변수. Self-managed 인스턴스의 사용자는 255자를 초과하는 매개변수를 사용하지 않도록 파이프라인을 업데이트해야 합니다. GitLab.com의 사용자는 해당 데이터베이스에서 이미 제한되어 있기 때문에 변경할 필요가 없습니다.
### 환경 검색 쿼리는 최소한 세 개의 문자를 필요로 함
- GitLab 15.10에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 정보는 [deprecated된 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/382532)를 확인하세요.
GitLab 16.0부터 API로 환경을 검색할 때 적어도 세 개의 문자를 사용해야 합니다. 이 변경 사항은 검색 작업의 확장성을 보장하는 데 도움이 됩니다.
### GraphQL ReleaseAssetLink 유형의 외부 필드
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
[GraphQL API](https://docs.gitlab.com/ee/api/graphql/)에서 [`ReleaseAssetLink` 유형](https://docs.gitlab.com/ee/api/graphql/reference/index.html#releaseassetlink)의 `external` 필드는 [릴리스 링크](https://docs.gitlab.com/ee/user/project/releases/release_fields.html#links)가 귀하의 GitLab 인스턴스에서 내부 또는 외부인지 나타내는 데 사용되었습니다. GitLab 15.9부터는 모든 릴리스 링크를 외부로 처리하므로, 이 필드는 GitLab 15.9에서 deprecated되었으며 GitLab 16.0에서 제거될 예정입니다. 작업 흐름에 혼란을 피하기 위해 `external` 필드 사용을 중지하십시오. 이 필드는 제거되고 대체되지 않을 것입니다.
### Releases 및 릴리즈 링크 API의 외부 필드
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
[Releases API](https://docs.gitlab.com/ee/api/releases/) 및 [릴리즈 링크 API](https://docs.gitlab.com/ee/api/releases/links.html)에서 `external` 필드는 [릴리즈 링크](https://docs.gitlab.com/ee/user/project/releases/release_fields.html#links)가 GitLab 인스턴스 내부 또는 외부에 있는지를 나타내기 위해 사용되었습니다. GitLab 15.9부터 모든 릴리즈 링크를 외부로 처리하므로이 필드는 GitLab 15.9에서는 사용이 중단되었으며 GitLab 16.0에서 제거될 예정입니다. 업무 흐름에 어떤 방해도 없도록 하기 위해 `external` 필드를 더 이상 사용하지 말고 제거될 것이며 대체되지도 않을 것입니다.
### Geo: 프로젝트 리포지터리 다시 다운로드 기능이 중단됨
- GitLab 15.11에서 발표됨 - GitLab 16.0에서 제거 예정 - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [중단 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/388868)를 참조하십시오.
보조 Geo 사이트에서 프로젝트 리포지터리를 "다시 다운로드"하는 버튼은 중단되었습니다. 다시 다운로드 논리는 발생할 때 해결하기 어려운 내재적 데이터 일관성 문제가 있습니다. 이 버튼은 GitLab 16.0에서 제거될 것입니다.
### GitLab 관리자는 보호된 브랜치 또는 태그를 수정할 권한이 있어야 함
- GitLab 16.0에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [중단 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/12776)를 참조하십시오.
GitLab 관리자는 명시적으로 그 권한이 부여되지 않은 경우 보호된 브랜치 또는 태그에서 더 이상 작업을 수행할 수 없습니다. 이러한 작업에는 보호된 브랜치로 푸시하거나 머지하는 것, 브랜치의 보호 해제, [보호된 태그](https://docs.gitlab.com/ee/user/project/protected_tags.html)를 생성하는 것 등이 포함됩니다.
### GitLab 자가 모니터링 프로젝트
- GitLab 14.9에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [중단 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/348909)를 참조하십시오.
GitLab 자가 모니터링은 자체 호스팅 GitLab 인스턴스의 관리자에게 인스턴스의 상태를 모니터링할 수 있는 도구를 제공합니다. 이 기능은 GitLab 14.9에서 사용 중지되었으며 16.0에서 제거 예정입니다.
### GitLab.com 가져오기 도구
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거 예정 - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [중단 문제](https://gitlab.com/gitlab-com/Product/-/issues/4895)를 참조하십시오.
[GitLab.com 가져오기 도구](https://docs.gitlab.com/ee/user/project/import/gitlab_com.html)는 GitLab 15.8에서 사용이 중지되었으며 GitLab 16.0에서 제거될 예정입니다. GitLab.com 가져오기 도구는 2015년에 GitLab.com에서 자체 호스팅 GitLab 인스턴스로 프로젝트를 가져오는 데 사용되었습니다. 이 기능은 자체 호스팅 인스턴스에서만 사용할 수 있습니다. [직접 이전에 의한 GitLab 그룹 및 프로젝트 이전](https://docs.gitlab.com/ee/user/group/import/#migrate-groups-by-direct-transfer-recommended)이 GitLab.com 가져오기 도구를 대체하고 더 통합된 가져오기 기능을 제공합니다. [migrated group items](https://docs.gitlab.com/ee/user/group/import/#migrated-group-items) 및 [migrated project items](https://docs.gitlab.com/ee/user/group/import/#migrated-project-items)를 참조하여 개요를 확인하세요.
### GraphQL API Runner 상태는 더 이상 `paused`를 반환하지 않음
- GitLab 14.5에서 발표됨 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [중단 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/344648)를 참조하십시오.
GitLab Runner GraphQL API 엔드포인트는 GitLab 16.0에서 상태로 `paused` 또는 `active`를 더 이상 반환하지 않을 것입니다. REST API의 향후 v5에서 GitLab Runner에 대한 엔드포인트도 `paused` 또는 `active`를 반환하지 않을 것입니다. Runner의 상태는 더 이상 `paused` 또는 `active`와 관련이 없으며, 대신: `온라인`, `오프라인`, 또는 `연결되지 않음`과 같은 러너 연락 상태에만 관련되어 있을 것입니다. `paused` 또는 `active` 상태는 더 이상 나타나지 않을 것입니다. API 사용자들은 러너가 `paused` 상태인지 확인할 때 `paused` 속성이 `true`인지 확인하는 것이 좋습니다. 러너가 `active`인지 확인할 때는 `paused`가 `false`인지 확인하십시오.
### Runner 상태에 대한 GraphQL API legacyMode 인자
- GitLab 15.0에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [제거 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/360545)를 참조하세요.
`RunnerType`의 `status` 필드에 대한 `legacyMode` 인자가 16.0 릴리즈에서 기능이 없어질 것입니다. 이 변경 사항에 대한 자세한 내용은 [이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/351109)에서 확인할 수 있습니다. GitLab 16.0 이상에서 `status` 필드는 `legacyMode`이 null인 것처럼 동작할 것입니다. `legacyMode` 인자는 16.x 주기 동안 API 시그니처가 깨지지 않도록 유지될 것이며, 17.0 릴리즈에서 완전히 제거될 것입니다.
### 노트에서 `confidential` 필드가 `internal`로 변경된 GraphQL 필드
- GitLab 15.5에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [제거 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/371485)를 참조하세요.
`Note`의 `confidential` 필드는 폐기되어 `internal`로 이름이 변경될 것입니다.
### Jira Cloud용 Jira DVCS 커넥터
- GitLab 15.1에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [제거 문제](https://gitlab.com/groups/gitlab-org/-/epics/7508)를 참조하세요.
Jira Cloud용 [Jira DVCS 커넥터](https://docs.gitlab.com/ee/integration/jira/dvcs/)가 폐기되어 GitLab 16.0에서 제거될 것입니다. Jira Cloud에서 Jira DVCS 커넥터를 사용 중이라면, [GitLab for Jira Cloud 앱](https://docs.gitlab.com/ee/integration/jira/connect-app.html)로 마이그레이션하시기 바랍니다. Jira 8.13 이전 버전과 Jira용 Jira DVCS 커넥터도 폐기됩니다. Jira 8.14 이후부터는 Jira Server 또는 Jira Data Center에서만 Jira DVCS 커넥터를 사용할 수 있습니다.
### GitLab Helm 차트의 KAS Metrics 포트
- GitLab 15.7에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [제거 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/383039)를 참조하세요.
`gitlab.kas.metrics.port`는 [GitLab Helm 차트](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/2839)의 새로운 `gitlab.kas.observability.port` 구성 필드로 대체되었습니다. 이 포트는 메트릭 뿐만 아니라 훨씬 더 많은 용도로 사용되기 때문에 혼란을 피하기 위해 이 변경이 이루어졌습니다.
### 레거시 Gitaly 구성 방법
- GitLab 15.10에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [제거 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/393574)를 참조하세요.
Omnibus GitLab 내의 Gitaly 구성이 모든 Gitaly 관련 구성 키가 표준 Gitaly 구성과 일치하는 단일 구성 구조에 있는 방식으로 업데이트되었습니다. 따라서 이전의 구성 구조가 폐기되었습니다. 이 단일 구성 구조는 GitLab 15.10부터 사용 가능하지만, 하위 호환성이 유지됩니다. 제거된 후에는 Gitaly를 이 단일 구성 구조를 사용하여 구성해야 합니다. 가능한 빨리 Gitaly 구성을 업데이트해야 합니다. 이 변경으로 Omnibus GitLab과 소스 설치 사이의 일관성이 향상되었으며, 두 환경에 대해 더 나은 문서 및 도구를 제공할 수 있게 되었습니다. 가능한 빨리 [업그레이드 지침](https://docs.gitlab.com/ee/update/#gitaly-omnibus-gitlab-configuration-structure-change)을 사용하여 새로운 구성 구조로 업데이트해야 합니다.
### 레거시 Praefect 구성 방법
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [제거 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/390291)를 참조하세요.
이전에는 Praefect 구성 키가 구성 파일 전체에 흩어져 있었습니다. 이제는 이러한 키들이 Praefect 구성과 일치하는 단일 구성 구조에 있으므로 이전의 구성 방법이 폐기되었습니다. 단일 구성 구조는 GitLab 15.9부터 사용 가능하지만, 하위 호환성이 유지됩니다. 제거된 후에는 Praefect를 이 단일 구성 구조를 사용하여 구성해야 합니다. 가능한 빨리 [업그레이드 지침](https://docs.gitlab.com/ee/update/#praefect-omnibus-gitlab-configuration-structure-change)을 사용하여 Praefect 구성을 업데이트해야 합니다. 이 변경으로 Omnibus GitLab의 Praefect 구성이 Praefect의 구성 구조와 일치하게 되었으며, 이전에는 계층 구조와 구성 키가 일치하지 않았습니다. 이 변경으로 Omnibus GitLab과 소스 설치 사이의 일관성이 향상되었으며, 두 환경에 대해 더 나은 문서 및 도구를 제공할 수 있게 되었습니다.
### 레거시 URL 대체 또는 삭제
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [제거 예정 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/214217)를 참조하세요.
GitLab 16.0에서 GitLab 애플리케이션에서 레거시 URL이 제거됩니다. GitLab 9.0에서 하위 그룹이 소개되었을 때 `/-/` 구분 기호가 URL에 추가되어 그룹 경로의 끝을 나타내었습니다. 이제 모든 GitLab URL은 프로젝트, 그룹 및 인스턴스 레벨 기능에 이 구분 기호를 사용합니다. `/-/` 구분 기호를 사용하지 않는 URL은 GitLab 16.0에서 제거 예정입니다. 이러한 URL의 전체 디렉터리 및 대체품은 [이슈 28848](https://gitlab.com/gitlab-org/gitlab/-/issues/28848#release-notes)를 참조하세요. 레거시 URL을 참조하는 스크립트나 즐겨찾기를 업데이트하세요. GitLab API에는 이 변경으로 인한 영향이 없습니다. </div>
### 라이선스-체크 및 라이선스 컴플라이언스 페이지의 정책 탭
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [제거 예정 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/390417)를 참조하세요.
[라이선스-체크 기능](https://docs.gitlab.com/ee/user/compliance/license_check_rules.html)은 이제 사용이 중단되고 GitLab 16.0에서 제거 예정입니다. 추가로 라이선스 컴플라이언스 페이지의 정책 탭과 라이선스-체크 기능과 관련된 모든 API도 사용이 중단되었으며 GitLab 16.0에서 제거 예정입니다. 감지된 라이선스를 기반으로 승인을 계속 적용하려는 사용자는 새 [라이선스 승인 정책](https://docs.gitlab.com/ee/user/compliance/license_approval_policies.html)을 작성하는 것을 권장합니다.
### 개인 액세스 토큰 및 외부 인증에 따른 배정 토큰의 액세스 제한
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [제거 예정 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/387721)를 참조하세요.
외부 인증이 활성화된 상태에서 개인 액세스 토큰(PAT) 및 배포 토큰은 이제 더 이상 컨테이너 또는 패키지 레지스트리에 액세스할 수 없습니다. 이 방어층 보안 조치는 16.0에서 배포될 예정입니다. 이러한 레지스트리에 액세스하기 위해 PAT 및 배포 토큰을 사용하는 사용자는 이 변경으로 인해 해당 토큰의 사용이 중단됩니다. 컨테이너 또는 패키지 레지스트리에 토큰을 사용하려면 외부 인가를 비활성화하세요.
### GitLab Helm 차트의 주요 번들된 Helm 차트 업데이트
- GitLab 15.10에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [제거 예정 문제](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/3442)를 참조하세요.
GitLab 16.0과 함께 GitLab Helm 차트는 7.0 주요 버전을 릴리스합니다. 다음과 같은 주요 번들된 차트 업데이트가 포함될 예정입니다: - GitLab 16.0에서 [PostgreSQL 12 지원이 제거되고 PostgreSQL 13이 새로운 최소 버전으로 채택](#postgresql-12-deprecated)됩니다. - 프로덕션에 준비된 외부 데이터베이스를 사용하는 설치는 업그레이드 전에 새로운 PostgreSQL 버전으로 마이그레이션을 완료해야 합니다. - [비프로덕션 번들된 PostgreSQL 12 차트](https://docs.gitlab.com/charts/installation/tools.html#postgresql)를 사용한 설치는 새 버전으로 차트가 업그레이드됩니다. 자세한 정보는 [이슈 4118](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/4118)을 참조하세요. - [비프로덕션 번들된 Redis 차트](https://docs.gitlab.com/charts/installation/tools.html#redis)를 사용하는 설치는 새로운 버전으로 차트가 업그레이드됩니다. 자세한 정보는 [이슈 3375](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/3375)을 참조하세요. - [번들된 cert-manager 차트](https://docs.gitlab.com/charts/installation/tls.html#option-1-cert-manager-and-lets-encrypt)를 사용하는 설치는 새로운 버전으로 차트가 업그레이드됩니다. 자세한 정보는 [이슈 4313](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/4313)을 참조하세요. 전체 GitLab Helm 차트 7.0 업그레이드 단계는 [업그레이드 문서](https://docs.gitlab.com/charts/installation/upgrade.html)에서 확인할 수 있습니다.
### 관리 라이선스 API
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [제거 예정 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/390417)를 참조하세요.
관리 라이선스 API는 이제 사용이 중단되고 GitLab 16.0에서 제거 예정입니다.
### 프로젝트 당 활성 파이프라인 최대 수 제한 (`ci_active_pipelines`)
- GitLab 15.3에서 발표됨 - GitLab 16.0에서 제거됨 - 이 변경 사항에 대한 논의 또는 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/368195)를 참조하십시오.
[**프로젝트 당 활성 파이프라인 최대 수** 제한](https://docs.gitlab.com/ee/administration/settings/continuous_integration.html#set-cicd-limits)은 기본적으로 활성화되지 않았으며 GitLab 16.0에서 제거될 예정입니다. 이 제한은 Rails 콘솔에서도 [`ci_active_pipelines`](https://docs.gitlab.com/ee/administration/instance_limits.html#number-of-pipelines-running-concurrently)으로 구성할 수 있습니다. 대신, 유사한 보호를 제공하는 다른 권장 속도 제한을 사용하세요: - [**파이프라인 속도 제한**](https://docs.gitlab.com/ee/administration/settings/rate_limit_on_pipelines_creation.html). - [**현재 활성 파이프라인의 작업 총 수**](https://docs.gitlab.com/ee/administration/settings/continuous_integration.html#set-cicd-limits).
### 프로메테우스를 통한 성능 메트릭 모니터링
- GitLab 14.7에서 발표됨 - GitLab 16.0에서 제거됨 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)를 참조하십시오.
GitLab은 프로메테우스 인스턴스에 저장된 데이터를 표시하여 사용자가 성능 메트릭을 볼 수 있도록 합니다. 또한 GitLab은 이러한 메트릭의 시각화를 대시보드에서 표시합니다. 사용자는 이전에 구성된 외부 프로메테우스 인스턴스에 연결하거나 GitLab 관리 앱으로 프로메테우스를 설정할 수 있습니다. 그러나 GitLab에서 Kubernetes 클러스터와의 인증 기반 통합이 폐지되었기 때문에 프로메테우스에 의존하는 GitLab의 메트릭 기능 또한 폐지됩니다. 이는 대시보드의 메트릭 시각화를 포함합니다. GitLab은 [Opstrace](https://about.gitlab.com/press/releases/2021-12-14-gitlab-acquires-opstrace-to-expand-its-devops-platform-with-open-source-observability-solution/)를 기반으로 단일 사용자 경험을 개발 중입니다. Opstrace 통합 작업을 팔로우할 수 있도록 [문제](https://gitlab.com/groups/gitlab-org/-/epics/6976)가 있습니다.
### 만료되지 않는 액세스 토큰
- GitLab 15.4에서 발표됨 - GitLab 16.0에서 제거됨 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/369122)를 참조하십시오.
만료일이 없는 액세스 토큰은 계속해서 유효하며, 액세스 토큰이 노출되면 보안 위험이 발생합니다. 만료일이 있는 액세스 토큰이 더 좋으므로 GitLab 15.3부터 [기본 만료일을 할당](https://gitlab.com/gitlab-org/gitlab/-/issues/348660)하기로 합니다. GitLab 16.0에서 만료일이 없는 [개인](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html), [프로젝트](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) 또는 [그룹](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) 액세스 토큰은 자동으로 1년의 만료일이 설정됩니다. 기본값이 적용되기 전에 회사의 보안 정책에 따라 액세스 토큰에 만료일을 설정하는 것을 권장합니다: - GitLab.com의 경우 16.0 마일스톤 동안 - GitLab Self-managed 인스턴스의 경우 16.0으로 업그레이드될 때
### 표준이 아닌 기본 Redis 포트의 폐지
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거됨 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/388269)를 참조하십시오.
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에서 제거됨 ([중요 변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/389557)를 참조하십시오.
관리 영역의 그룹 및 프로젝트 삭제 보호 설정에는 즉시 그룹 및 프로젝트 삭제 옵션이 있었습니다. 16.0부터 이 옵션은 더 이상 사용할 수 없으며, 지연된 그룹 및 프로젝트 삭제가 기본 동작이 될 것입니다. 이 옵션은 그룹 설정에서 더 이상 나타나지 않을 것입니다. Self-managed 사용자는 삭제 지연 기간을 정의할 수 있으며, SaaS 사용자는 7일의 기본 보존 기간을 갖습니다. 사용자는 여전히 프로젝트 설정에서 즉시 프로젝트를, 그리고 그룹 설정에서 그룹을 삭제할 수 있습니다. 그룹 및 프로젝트를 기본적으로 즉시 삭제할 수 있는 옵션은 실수로 이 동작을 수행하고 그룹 및 프로젝트를 영구적으로 상실하는 것을 방지하기 위해 폐지되었습니다.
### PipelineSecurityReportFinding 이름 GraphQL 필드
- GitLab 15.1에서 발표 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [deprecated 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/346335)를 참조하세요.
이전에는 [PipelineSecurityReportFinding GraphQL 타입](https://gitlab.com/gitlab-org/gitlab/-/issues/335372)이 새로운 `title` 필드를 포함하도록 업데이트되었습니다. 이 필드는 현재 `name` 필드의 별칭으로, 덜 구체적인 `name` 필드를 사용하지 않게 만듭니다. `name` 필드는 GitLab 16.0에서 PipelineSecurityReportFinding 타입에서 제거될 예정입니다.
### PostgreSQL 12 더 이상 사용되지 않음
- GitLab 15.0에서 발표 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [deprecated 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/349185)를 참조하세요.
PostgreSQL 12의 지원은 GitLab 16.0에서 제거될 예정입니다. GitLab 16.0에서는 PostgreSQL 13이 최소 필요한 PostgreSQL 버전이 될 것입니다. PostgreSQL 12는 전체 GitLab 15 릴리스 주기 동안 지원될 예정입니다. GitLab 16.0 이전에 업그레이드하려는 인스턴스에서는 PostgreSQL 13도 지원될 것입니다. PostgreSQL 13의 지원은 GitLab 15.2에서 Geo에 추가되었습니다.
### Projects API 필드 `operations_access_level`이 더 이상 사용되지 않음
- GitLab 15.8에서 발표 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [deprecated 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/385798)를 참조하세요.
Projects API에서 `operations_access_level` 필드를 사용하지 않게 되었습니다. 이 필드는 다음과 같은 특정 기능을 제어하기 위해 대체되었습니다: `releases_access_level`, `environments_access_level`, `feature_flags_access_level`, `infrastructure_access_level`, 및 `monitor_access_level`.
### 빌드된 리포지터리를 가져오는 Rake 작업
- GitLab 15.8에서 발표 - GitLab 16.0에서 제거 예정 - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [deprecated 이슈](https://gitlab.com/gitlab-com/Product/-/issues/5255)를 참조하세요.
빌드된 리포지터리를 가져오는 Rake 작업(`gitlab:import:repos`)은 GitLab 15.8에서 사용이 중단될 예정이며, GitLab 16.0에서 제거될 예정입니다. 이 Rake 작업은 GitLab 인스턴스로 리포지터리의 디렉터리 트리를 가져옵니다. 이러한 리포지터리는 Rake 작업이 작동하려면 이전에 GitLab에 의해 관리되어야 합니다. `gitlab:import:repos` Rake 작업을 사용하여 리포지터리를 가져오는 것은 제한이 있습니다. 이 Rake 작업은 다음과 같습니다: - 프로젝트 및 프로젝트 위키 리포지터리에 관한 정보만을 알고 있으며, 디자인, 그룹 위키 또는 스니펫에 대한 리포지터리를 지원하지 않습니다. - 지원되지 않는 해시되지 않은 리포지터리를 가져오도록 허용하나, 이에 대한 지원은 되어있지 않습니다. - 작동하기 위해서는 Git 설정 `gitlab.fullpath`가 설정되어 있어야 합니다. [Epic 8953](https://gitlab.com/groups/gitlab-org/-/epics/8953)에서 이 설정에 대한 지원 중단을 제안합니다. `gitlab:import:repos` Rake 작업을 사용하는 대안은 다음과 같습니다: - [내보내기 파일](https://docs.gitlab.com/ee/user/project/settings/import_export.html) 또는 [직접 전송](https://docs.gitlab.com/ee/user/group/import/#migrate-groups-by-direct-transfer-recommended)을 사용하여 프로젝트를 마이그레이션하고 리포지터리를 가져올 수 있습니다. - [URL별로 리포지터리 가져오기](https://docs.gitlab.com/ee/user/project/import/repo_by_url)를 사용할 수 있습니다. - [GitLab 외부에서 리포지터리 가져오기](https://docs.gitlab.com/ee/user/project/import/)를 사용할 수 있습니다.
### Redis 5 더 이상 사용되지 않음
- GitLab 15.3에서 발표 - GitLab 15.6에서 지원 종료 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [deprecated 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/331468)를 참조하세요.
GitLab 13.9에서 Omnibus GitLab 패키지 및 GitLab Helm 차트 4.9에서 Redis 버전이 [Redis 6로 업데이트되었습니다](https://about.gitlab.com/releases/2021/02/22/gitlab-13-9-released/#omnibus-improvements). Redis 5는 2022년 4월에 지원 종료되며, GitLab 15.6부터 더 이상 지원되지 않을 것입니다. 만약 별도의 Redis 5.0 인스턴스를 사용 중이라면, GitLab 16.0 이상으로 업그레이드하기 전에 Redis 6.0 이상으로 업그레이드해야 합니다.
### `POST /jobs/request` Runner 엔드포인트에서 `job_age` 매개변수 제거
- GitLab 15.2에서 발표 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [제거 예정 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/334253)를 참조하세요.
GitLab Runner와의 통신에 사용되는 `POST /jobs/request` API 엔드포인트에서 반환된 `job_age` 매개변수는 GitLab이나 Runner 기능에서 사용된 적이 없습니다. 이 매개변수는 GitLab 16.0에서 제거될 예정입니다. 이 변경으로 인해 해당 매개변수가 엔드포인트에서 반환되는 것에 의존하는 자체 러너를 개발한 경우에는 중대한 변화일 수 있습니다. 이 변경은 공식적으로 릴리스된 GitLab Runner의 버전뿐만 아니라 GitLab.com의 공용 공유 러너를 사용하는 경우에는 중대한 변화가 아닙니다.
### GitLab 16.0에서 SAST 분석기 커버리지 변경
- GitLab 15.9에서 발표 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [제거 예정 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/390416)를 참조하세요.
GitLab SAST는 코드를 취약점을 스캔하기 위해 다양한 [분석기](https://docs.gitlab.com/ee/user/application_security/sast/analyzers/)를 사용합니다. 우리는 GitLab SAST에서 기본적으로 지원하는 분석기의 개수를 줄이고 있습니다. 이것은 서로 다른 프로그래밍 언어에 대해 더욱 빠르고 일관된 사용자 경험을 제공하기 위한 장기적인 전략의 일환입니다. GitLab 16.0부터, GitLab SAST CI/CD 템플릿은 .NET을 위한 [Security Code Scan](https://gitlab.com/gitlab-org/security-products/analyzers/security-code-scan) 기반 분석기를 더 이상 사용하지 않게 되며 지원 종료 상태로 들어갈 것입니다. 우리는 이 분석기를 [SAST CI/CD 템플릿](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml)에서 제거하고 [Semgrep 기반 분석기](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep)로 대체할 것입니다. 즉시 이 분석기는 보안 업데이트만 받게 되며, 다른 일반적인 개선 사항이나 업데이트는 보장되지 않습니다. 이 분석기가 GitLab 16.0에서 지원 종료 상태에 도달한 이후에는 더 이상 업데이트가 제공되지 않을 것입니다. 그러나 이전에 해당 분석기에서 발견된 취약점을 이미 무시한 경우, 이를 대체하려는 시도에 따라 시스템 동작이 달라집니다. - 이전에 Semgrep 기반 분석기를 실행에서 제외한 적이 있는지. - 프로젝트의 취약점 보고서에서 처음으로 취약점을 발견한 분석기가 어떤 분석기인지. 자세한 내용은 [취약점 번역 문서](https://docs.gitlab.com/ee/user/application_security/sast/analyzers.html#vulnerability-translation)를 참조하세요. 이 변경에 대한 문제에 대한 자세한 내용은 [이곳](https://gitlab.com/gitlab-org/gitlab/-/issues/390416#breaking-change)에서 확인하세요. **업데이트:** 이 변경의 범위를 축소했습니다. GitLab 16.0에서 다음과 같은 변경은 더 이상 진행하지 않을 것입니다. 1. [PHPCS Security Audit](https://gitlab.com/gitlab-org/security-products/analyzers/phpcs-security-audit) 기반 분석기의 지원을 중단하고 [Semgrep 기반 분석기](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep)에 GitLab 관리 감지 규칙을 대체하는 작업은 진행 중입니다. 1. Scala를 [SpotBugs 기반 분석기](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs)의 범위에서 제외하고 [Semgrep 기반 분석기](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep)에 GitLab 관리 감지 규칙을 대체하는 작업은 진행 중입니다. PHPCS Security Audit 기반 분석기를 대체하는 작업은 [이슈 364060](https://gitlab.com/gitlab-org/gitlab/-/issues/364060)에서 추적되고 있으며, Scala 스캔을 Semgrep 기반 분석기로 마이그레이션하는 작업은 [이슈 362958](https://gitlab.com/gitlab-org/gitlab/-/issues/362958)에서 추적되고 있습니다.
### 보안 분석기 주요 버전 업데이트
- GitLab 15.9에서 발표 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 토론이나 자세한 내용은 [제거 예정 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/390912)를 참조하세요.
Secure 단계에서는 분석기의 주요 버전을 GitLab 16.0 릴리스와 함께 업그레이드할 것입니다. 이 업그레이드는 다음 간의 분석기 간에 명확한 구분을 가능하게 할 것입니다. - 2023년 5월 22일 이전에 릴리스된 분석기들 - 2023년 5월 22일 이후에 릴리스된 분석기들 기본 포함된 템플릿을 사용하지 않거나 분석기 버전을 고정시켰다면 CI/CD 작업 정의를 업데이트하여 고정된 버전을 제거하거나 최신 주요 버전으로 업데이트해야 합니다. GitLab 13.0-15.10를 사용 중인 사용자들은 16.0 버전이 출시될 때까지 일반적인 분석기 업데이트를 계속해서 경험하게 될 것이며, 이후에는 새로운 버전의 분석기에 새로운 버그 및 기능이 릴리스됩니다. 특히 16.0 GitLab 릴리스 이후에 다음과 같은 분석기들이 사용되지 않게 되며 더 이상 업데이트되지 않을 것입니다: - API Fuzzing: 버전 2 - Container Scanning: 버전 5 - Coverage-guided fuzz testing: 버전 3 - Dependency Scanning: 버전 3 - Dynamic Application Security Testing (DAST): 버전 3 - DAST API: 버전 2 - IaC Scanning: 버전 3 - License Scanning: 버전 4 - Secret Detection: 버전 4 - Static Application Security Testing (SAST): [모든 분석기](https://docs.gitlab.com/ee/user/application_security/sast/#supported-languages-and-frameworks)의 버전 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
### 보안 스캐닝 CI/CD 템플릿은 새 작업 `rules`를 사용합니다
- GitLab 15.9에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 논의 또는 자세한 내용은 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/391822)를 참조하십시오.
보안 스캐닝을 위한 GitLab 관리 CI/CD 템플릿이 GitLab 16.0 릴리스에서 업데이트될 것입니다. 업데이트에는 이미 최신 버전의 CI/CD 템플릿에서 이미 출시된 개선 사항이 포함될 것입니다. 이러한 변경 사항을 최신 템플릿 버전에서 미리 출시한 이유는 사용자 지정 CI/CD 파이프라인 구성에 영향을 줄 수 있기 때문입니다. 모든 업데이트된 템플릿에서 `SAST_DISABLED` 및 `DEPENDENCY_SCANNING_DISABLED`와 같은 변수의 정의를 업데이트하여 값이 `"true"`인 경우에만 스캔을 비활성화하도록 합니다. 이전에는 값이 `"false"`라도 스캔이 비활성화되었습니다. 다음 템플릿이 업데이트될 것입니다: - API Fuzzing: [`API-Fuzzing.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/API-Fuzzing.gitlab-ci.yml) - Container Scanning: [`Container-Scanning.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Container-Scanning.gitlab-ci.yml) - Coverage-Guided Fuzzing: [`Coverage-Fuzzing.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/Coverage-Fuzzing.gitlab-ci.yml) - DAST: [`DAST.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml) - DAST API: [`DAST-API.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/DAST-API.gitlab-ci.yml) - Dependency Scanning: [`Dependency-Scanning.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Dependency-Scanning.gitlab-ci.yml) - IaC Scanning: [`SAST-IaC.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/SAST-IaC.gitlab-ci.yml) - SAST: [`SAST.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/SAST.gitlab-ci.yml) - Secret Detection: [`Secret-Detection.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Secret-Detection.gitlab-ci.yml) 위의 템플릿 중 하나를 사용하고 `_DISABLED` 변수를 사용하지만 `"true"` 이외의 값으로 설정한 경우 16.0 릴리스 이전에 파이프라인을 테스트하는 것을 권장합니다. **업데이트:** 이전에 영향을 받는 템플릿의 `rules`를 기본적으로 [Merge Request 파이프라인](https://docs.gitlab.com/ee/ci/pipelines/merge_request_pipelines.html)에서 실행할 것이라고 발표했습니다. 그러나 [폐기 이슈에서 논의된](https://gitlab.com/gitlab-org/gitlab/-/issues/388988#note_1372629948) 호환성 문제로 인해 GitLab 16.0에서 이러한 변경을 더는 적용하지 않을 것입니다. 그러나 위에 설명된 `_DISABLED` 변수에 대한 변경은 여전히 출시할 것입니다.
### 보안 보고서 스키마 버전 14.x.x
- GitLab 15.3에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 논의 또는 자세한 내용은 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/366477)를 참조하십시오.
버전 14.x.x [보안 보고서 스키마](https://gitlab.com/gitlab-org/security-products/security-report-schemas)는 더 이상 사용되지 않습니다. GitLab 15.8 이상에서 14.x.x 스키마 버전을 사용하는 [보안 보고서 스캐너 통합](https://docs.gitlab.com/ee/development/integrations/secure.html)은 파이프라인의 **보안** 탭에 폐기 경고가 표시됩니다. GitLab 16.0 이상에서는 해당 기능이 제거됩니다. 14.x.x 스키마 버전을 사용하는 보안 보고서는 파이프라인의 **보안** 탭에서 오류를 발생시킵니다. 자세한 내용은 [보안 보고서 유효성 검사](https://docs.gitlab.com/ee/user/application_security/#security-report-validation)를 참조하십시오.
### GitLab 에이전트를 위한 구성에서의 Starboard 지시문
- GitLab 15.4에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 논의 또는 자세한 내용은 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/368828)를 참조하십시오.
GitLab의 운영용 컨테이너 스캐닝 기능은 더 이상 starboard의 설치를 필요로 하지 않습니다. 따라서 GitLab 에이전트를 위한 구성 파일에서 `starboard:` 지시문의 사용이 더 이상 권장되지 않으며 GitLab 16.0에서 제거 예정입니다. 구성 파일을 업데이트하여 `container_scanning:` 지시문을 사용하도록 하십시오.
### Windows Server 2004 및 20H2를 기반으로 하는 GitLab Runner 이미지의 배포 중단
- GitLab 16.0에서 발표 - GitLab 16.0에서 제거 예정 - 이 변경 사항에 대한 토론이나 자세한 내용은 [폐기 사항 이슈](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/31001)을 확인하세요.
GitLab 16.0부로 Windows Server 2004 및 20H2를 기반으로 하는 GitLab Runner 이미지는 제공되지 않을 예정이며, 해당 운영 체제는 End-of-Life 상태입니다.
### Praefect 사용자 정의 메트릭 엔드포인트 구성 지원
- GitLab 15.9에서 발표 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [폐기 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/390266)을 확인하세요.
`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](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [폐기 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/385564)을 확인하세요.
이전에는 마침표를 포함하는 Terraform 상태 이름은 지원되지 않았습니다. 그러나 여전히 마침표가 들어간 상태 이름을 사용할 수 있는 우회 방법이 있었습니다. GitLab 15.7에서 마침표를 포함하는 상태 이름을 [완전히 지원](https://docs.gitlab.com/ee/user/infrastructure/iac/troubleshooting.html#state-not-found-if-the-state-name-contains-a-period)하기 시작했습니다. 이 우회 방법을 사용하여 상태 이름을 처리했다면 작업이 실패할 수 있거나 처음으로 Terraform을 실행한 것처럼 보일 수 있습니다. 이 문제를 해결하려면: 1. 마침표 및 그 뒤에 오는 문자를 제외한 상태 파일에 대한 모든 참조를 변경합니다. - 예: 상태 이름이 `state.name`인 경우 모든 참조를 `state`로 변경합니다. 1. Terraform 명령을 실행합니다. 마침표를 포함한 전체 상태 이름을 사용하려면 [GitLab 관리형 Terraform 상태로 이관](https://docs.gitlab.com/ee/user/infrastructure/iac/terraform_state.html#migrate-to-a-gitlab-managed-terraform-state)해야 합니다.
### API는 더 이상 Kubernetes 에이전트에 대한 취소된 토큰을 반환하지 않습니다
- GitLab 15.8에서 발표 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [폐기 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/382129)을 확인하세요.
현재 [클러스터 에이전트 API](https://docs.gitlab.com/ee/api/cluster_agents.html#list-tokens-for-an-agent) 엔드포인트로의 GET 요청은 취소된 토큰을 반환할 수 있습니다. GitLab 16.0에서는 GET 요청이 취소된 토큰을 반환하지 않습니다. 이 업데이트는 다음과 같은 REST 및 GraphQL API 엔드포인트에 영향을 줍니다: - REST API: - 토큰 디렉터리 표시 - 단일 토큰 가져오기 - GraphQL: - `ClusterAgent.tokens`
### Phabricator 작업 가져오기기능이 폐기 예정입니다
- GitLab 15.7에서 발표 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [폐기 사항 이슈](https://gitlab.com/gitlab-com/Product/-/issues/4894)을 확인하세요.
Phabricator 작업 가져오기기능이 폐기 예정입니다. 2021년 6월 1일부로 Phabricator는 더 이상 활발히 유지되지 않고 있습니다. 이 도구를 사용한 가져오기 활동은 관찰되지 않았습니다. GitLab에서 관련된 오픈 이슈에 대한 활동도 없었습니다.
### 최신 Terraform 템플릿은 현재 안정적인 템플릿을 덮어쓸 것입니다
- GitLab 15.8에서 발표 - GitLab 16.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [폐기 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/386001)을 확인하세요.
매우 주요한 GitLab 버전마다 현재 최신 템플릿으로 안정적인 Terraform 템플릿을 업데이트합니다. 이 변경으로 [quickstart](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml) 및 [base](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml) 템플릿이 영향을 받습니다. 새 템플릿이 기본 규칙을 함께 제공하기 때문에 업데이트로 인해 Terraform 파이프라인이 손상될 수 있습니다. 예를 들어, Terraform 작업이 하위 파이프라인으로 트리거되는 경우 규칙이 GitLab 16.0에서 작업을 트리거하지 않을 수 있습니다. 변경 사항을 반영하려면 `.gitlab-ci.yml` 파일의 [`rules`](https://docs.gitlab.com/ee/ci/yaml/#rules)을 조정해야 할 수 있습니다.
### `/draft` 퀵 액션의 토글 동작 변경
- GitLab 15.4에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/365365)를 참조하세요.
퀵 액션을 통해 Merge Request의 초안 상태를 토글하는 동작을 더 명확하게 하기 위해, `/draft` 퀵 액션의 토글 동작을 향후 사용하지 않을 예정입니다. GitLab 16.0 릴리즈부터 `/draft`는 Merge Request을 초안 상태로만 설정하고, 새로운 `/ready` 퀵 액션을 사용하여 초안 상태를 제거할 수 있습니다.
### API에서 노트 기밀성 토글
- GitLab 14.10에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/350670)를 참조하세요.
REST 및 GraphQL API를 사용하여 노트 기밀성을 토글하는 것은 더 이상 지원되지 않습니다. 노트 기밀성 속성을 업데이트하는 것은 더 이상 어떤 방식으로도 지원되지 않습니다. 이것은 경험을 단순화하고 실수로 개인 정보가 노출되는 것을 방지하기 위해 변경되었습니다.
### vulnerabilityFindingDismiss 뮤테이션에서`id` 필드 사용
- GitLab 15.3에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/367166)를 참조하세요.
vulnerabilityFindingDismiss GraphQL 뮤테이션을 사용하여 취약점을 `Dismissed` 상태로 설정할 수 있습니다. 이전에 이 뮤테이션은 발견물을 고유하게 식별하기 위해 `id` 필드를 사용했지만, 이는 파이프라인 보안 탭에서 발견물을 해제하는 데에는 작동하지 않았습니다. 따라서 식별자로서의 `id` 필드 사용은 `uuid` 필드를 선호하는 쪽으로 변경되었습니다. `uuid` 필드를 식별자로 사용하면 파이프라인 보안 탭에서 발견물을 해제할 수 있습니다.
### 제3자 컨테이너 레지스트리 사용이 제거 예정
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/376216)를 참조하세요.
GitLab 15.8에서 GitLab을 인증 엔드포인트로 사용하여 제3자 컨테이너 레지스트리를 사용하는 것은 제거 예정입니다. 이는 외부 레지스트리를 GitLab 사용자 인터페이스에 연결하여 컨테이너 이미지를 찾고, 보기 및 삭제하는 Self-managed 고객에 영향을 미칩니다. GitLab의 컨테이너 레지스트리 및 제3자 컨테이너 레지스트리를 모두 지원하는 것은 유지 관리, 코드 품질 및 하위 호환성에 도전적입니다. 이로 인해 효율성에 대한 지장 및 사용자의 불편을 초래합니다. 결과적으로 우리는 이 기능을 미래에 지원하지 않을 것입니다. 이 변경으로 파이프라인을 통해 외부 레지스트리에서 컨테이너 이미지를 끌어오고 밀어넣는 기능에는 영향을 미치지 않습니다. 새로운 [GitLab 컨테이너 레지스트리](https://gitlab.com/groups/gitlab-org/-/epics/5523) 버전을 릴리즈한 이후, 우리는 제3자 컨테이너 레지스트리에서 사용할 수 없었던 새로운 기능을 구현하기 시작했습니다. 이러한 새로운 기능들은 [정리 정책](https://gitlab.com/groups/gitlab-org/-/epics/8379)과 같은 중대한 성능 향상을 이루는 데 기여했습니다. 우리는 [새로운 기능](https://gitlab.com/groups/gitlab-org/-/epics/5136)을 개발 및 릴리스하는 데 집중할 것이며, 이 중 대부분은 GitLab 컨테이너 레지스트리에서만 가능한 기능을 요구할 것입니다. 이 제거로 우리는 향후 더 튼튼한 통합 레지스트리 경험과 기능 세트를 제공함으로써 단편화와 사용자의 불만을 줄이는 데 초점을 맞추고자 합니다. 앞으로도 GitLab 컨테이너 레지스트리에만 적용될 새로운 기능을 개발하고 릴리스하는 데 투자할 것입니다.
### 전역 ID가 경로 끝에 있는 작업 항목 경로 사용이 제거 예정
- GitLab 15.10에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/393836)를 참조하세요.
작업 항목 URL에서의 전역 ID 사용이 제거됩니다. 앞으로 내부 ID(IID)만 지원할 예정입니다. GitLab은 여러 작업 항목 유형을 지원하므로 `https://gitlab.com/gitlab-org/gitlab/-/work_items/`과 같은 경로는 예를 들어 [작업](https://docs.gitlab.com/ee/user/tasks.html) 또는 [OKR](https://docs.gitlab.com/ee/user/okrs.html)을 표시할 수 있습니다. GitLab 15.10에서 쿼리 파라미터를 추가하여 경로 끝에 내부 ID(IID)를 사용할 수 있도록 지원했습니다: `https://gitlab.com/gitlab-org/gitlab/-/work_items/?iid_path=True`. GitLab 16.0에서는 작업 항목 경로에서 전역 ID 사용을 제거합니다. 경로 끝의 숫자는 쿼리 파라미터를 추가하지 않고 내부 ID(IID)로 간주될 것입니다. 다음의 형식만이 지원됩니다: `https://gitlab.com/gitlab-org/gitlab/-/work_items/`. </div>
### ZenTao 통합
- GitLab 15.7에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제외 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/377825)를 참조하세요.
[ZenTao 제품 통합](https://docs.gitlab.com/ee/user/project/integrations/zentao.html)이 폐기되었으며 JiHu GitLab 코드베이스로 이전될 예정입니다.
### `CI_BUILD_*` 미리 정의된 변수
- GitLab 14.8에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제외 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352957)를 참조하세요.
`CI_BUILD_*`로 시작하는 미리 정의된 CI/CD 변수는 GitLab 9.0에서 폐기되었으며 GitLab 16.0에서 제거될 예정입니다. 이러한 변수를 여전히 사용하는 경우 대체 [미리 정의된 변수](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html)로 변경해야 합니다. 이는 기능적으로 동일합니다. | 제거된 변수 | 대체 변수 | | -------------------|------------------------ | | `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](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제외 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/381669)를 참조하세요.
`POST ci/lint` API 엔드포인트는 15.7에서 폐기되었으며 16.0에서 제거될 예정입니다. 이 엔드포인트는 CI/CD 구성 옵션의 전체 범위를 유효성 검사하지 않습니다. 대신, [`POST /projects/:id/ci/lint`](https://docs.gitlab.com/ee/api/lint.html#validate-a-ci-yaml-configuration-with-a-namespace)를 사용하세요. 이는 CI/CD 구성을 올바르게 유효성을 검사합니다.
### DORA API의 `environment_tier` 매개변수
- GitLab 15.8에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제외 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/365939)를 참조하세요.
혼란과 중복을 피하기 위해 `environment_tier` 매개변수는 `environment_tiers` 매개변수로 대체되었습니다. 새로운 `environment_tiers` 매개변수를 사용하면 DORA API가 동시에 여러 티어에 대한 집계된 데이터를 반환할 수 있습니다. `environment_tier` 매개변수는 GitLab 16.0에서 제거될 예정입니다.
### `started` 이터레이션 상태
- GitLab 14.8에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제외 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/334018)를 참조하세요.
[이터레이션 GraphQL API](https://docs.gitlab.com/ee/api/graphql/reference/index.html#iterationstate)와 [이터레이션 REST API](https://docs.gitlab.com/ee/api/iterations.html#list-project-iterations)의 `started` 이터레이션 상태가 폐기되었습니다. GraphQL API 버전은 GitLab 16.0에서 제거될 예정입니다. 이 상태는 다른 시간 기반 엔터티(예: 마일스톤)와 일치하는 `current` 상태(이미 사용 가능)로 교체됩니다. REST API 버전에서는 다음 v5 REST API 버전까지 `started` 상태를 계속 지원할 계획입니다.
### vulnerabilityFindingDismiss GraphQL 뮤테이션
- GitLab 15.5에서 발표됨 - GitLab 16.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제외 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/375645)를 참조하세요.
`VulnerabilityFindingDismiss` GraphQL 뮤테이션이 폐기되며 GitLab 16.0에서 제거될 예정입니다. 이 뮤테이션은 증상 ID가 사용자에게 제공되지 않았기 때문에 자주 사용되지 않았습니다(이 필드는 [15.3에서 폐기](https://docs.gitlab.com/ee/update/deprecations.html#use-of-id-field-in-vulnerabilityfindingdismiss-mutation)되었습니다). 사용자는 대신 취약점 보고서에서 취약점을 해제하기 위해 `VulnerabilityDismiss`를 사용하거나 CI 파이프라인 성능 탭의 보안 취약점에서 `SecurityFindingDismiss`를 사용해야 합니다.
</div>
## GitLab 15.11
### openSUSE Leap 15.3 packages
- GitLab 15.8에서 발표됨 - GitLab 15.11에서 제거 예정 - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 사항](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7371)을 참조하세요.
openSUSE Leap 15.3의 배포 지원 및 보안 업데이트는 [2022년 12월에 종료되었습니다](https://en.opensuse.org/Lifetime#Discontinued_distributions). 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를 사용한 자동 백업 업로드
- GitLab 15.8에서 발표됨 - GitLab 15.10에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 사항](https://gitlab.com/gitlab-org/gitlab/-/issues/387976)을 참조하세요.
Openstack Swift 및 Rackspace API를 사용하여 원격 리포지터리에 [백업을 업로드](https://docs.gitlab.com/ee/raketasks/backup_gitlab.html#upload-backups-to-a-remote-cloud-storage)하는 지원이 중단됩니다. 이러한 API 지원은 더 이상 유지되지 않는 서드파티 라이브러리에 의존하며 Ruby 3용으로 업데이트되지 않았습니다. GitLab은 Ruby 2의 EOL 전에 Ruby 3로 전환하여 보안 패치를 유지하기 위해 이 변경을 진행 중입니다. - OpenStack을 사용하는 경우 백업 작업이 완료된 후 백업 파일을 매뉴얼으로 업로드하거나 Swift 대신 S3 API를 사용하도록 구성해야 합니다. - Rackspace 스토리지를 사용하는 경우 다른 제공업체로 전환하거나 백업 작업이 완료된 후 백업 파일을 매뉴얼으로 업로드해야 합니다.
## GitLab 15.9
### 웹 IDE에서 더 이상 라이브 미리 보기 제공되지 않음
- GitLab 15.8에서 발표됨 - GitLab 15.9에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 사항](https://gitlab.com/gitlab-org/gitlab/-/issues/383889)을 참조하세요.
웹 IDE의 라이브 미리 보기 기능은 정적 웹 응용 프로그램의 클라이언트 측 미리 보기를 제공하는 것을 목표로 했었습니다. 그러나 복잡한 구성 단계와 지원되는 프로젝트 유형의 한정된 범위로 인해 유용성이 제한되었습니다. GitLab 15.7에서는 웹 IDE 베타판을 소개함으로써 전체 서버 측 런타임 환경에 연결할 수 있게 되었습니다. 웹 IDE에서 확장 프로그램 설치를 지원하면 Live Preview에서 제공되는 것보다 더 고급적인 워크플로를 지원할 예정입니다. GitLab 15.9를 기준으로 라이브 미리 보기는 더 이상 웹 IDE에서 제공되지 않습니다.
### 쿠버네티스와의 SaaS 인증서 기반 통합
- GitLab 14.5에서 발표됨 - GitLab 15.9에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 사항](https://gitlab.com/groups/gitlab-org/configure/-/epics/8)을 참조하세요.
쿠버네티스와의 인증서 기반 통합은 [제거 및 중단](https://about.gitlab.com/blog/2021/11/15/deprecating-the-cert-based-kubernetes-integration/)될 예정입니다. GitLab SaaS 고객은 새로운 네임스페이스에서 GitLab과 클러스터를 certificate-based 방식으로 통합할 수 없게 될 것입니다. 현재 사용 중인 사용자를 대상으로 네임스페이스별로 통합이 가능하게 유지됩니다. 이전보다 견고하고 안전하며 믿을 수 있는 쿠버네티스와의 통합을 위해, 쿠버네티스 클러스터를 GitLab과 연결하기 위해 [에이전트를 사용](https://docs.gitlab.com/ee/user/clusters/agent/)하는 것을 권장합니다. [어떻게 마이그레이션하나요?](https://docs.gitlab.com/ee/user/infrastructure/clusters/migrate_to_gitlab_agent.html) 명시적 제거 날짜가 설정되었지만, 새로운 솔루션이 기능적으로 동등할 때까지 이 기능을 제거할 계획은 없습니다. 제거에 대한 블로킹 요소에 대한 자세한 내용은 [이 이슈](https://gitlab.com/gitlab-org/configure/general/-/issues/199)를 참조하십시오. 이 제거에 대한 업데이트와 세부 정보는 [이 에픽](https://gitlab.com/groups/gitlab-org/configure/-/epics/8)을 팔로우하세요. GitLab Self-managed 고객은 여전히 [피처 플래그를 사용](https://docs.gitlab.com/ee/update/deprecations.html#Self-managed-certificate-based-integration-with-kubernetes)하여 이 기능을 사용할 수 있습니다.
### `omniauth-authentiq` gem 더 이상 사용 불가
- GitLab 15.9에서 발표됨 - GitLab 15.9에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [제거 예정 사항](https://gitlab.com/gitlab-org/gitlab/-/issues/389452)을 참조하세요.
`omniauth-authentiq`는 GitLab의 일부였던 OmniAuth 전략 gem입니다. 인증 서비스를 제공하는 회사인 Authentiq가 종료되었기 때문에 해당 gem이 제거됩니다.
## GitLab 15.7
### `.gitlab-ci.yml`의 파일 유형 변수 확장
- GitLab 15.5에서 발표 - GitLab 15.7에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 논의 또는 더 많은 정보는 [폐지 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/29407)를 참조하세요.
이전에 별칭 파일 변수를 참조하거나 적용한 변수는 `File` 유형 변수의 값을 확장했습니다. 예를 들어, 파일 내용이었습니다. 이 동작은 일반적인 셸 변수 확장 규칙을 준수하지 않았기 때문에 잘못되었습니다. 사용자는 변수를 입력 매개변수로 $echo 명령을 실행하여 `File` 유형 변수에 저장된 비밀이나 민감한 정보를 누출할 수 있었습니다. 이 변경은 이 문제를 해결하였지만 동작을 우회하는 사용자의 작업 흐름을 방해할 수 있습니다. 이 변경으로 변수 확장이 별칭 파일 변수를 참조하거나 적용할 경우 `File` 유형 변수의 파일 이름 또는 경로로 확장되어 파일 내용이 아닌 값으로 확장됩니다.
### Flowdock 통합
- GitLab 15.7에서 발표 - GitLab 15.7에서 제거됨 - 이 변경에 대한 논의 또는 더 많은 정보는 [폐지 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/379197)를 참조하세요.
2022년 12월 22일부로 Flowdock 통합을 제거합니다. 이는 해당 서비스가 2022년 8월 15일에 중단되었기 때문입니다.
## GitLab 15.6
### Git 리포지터리 저장을 위한 NFS
- GitLab 14.0에서 발표 - GitLab 15.6에서 제거됨
Gitaly Cluster의 일반적 가용성([GitLab 13.0](https://about.gitlab.com/releases/2020/05/22/gitlab-13-0-released/)에서 소개됨)으로 인해 Git 리포지터리 저장을 위한 NFS의 개발(버그 수정, 성능 향상 등)은 GitLab 14.0에서 폐기되었습니다. 우리는 14.x를 통해 NFS에 대한 기술 지원을 계속 제공할 것이지만, 2022년 11월 22일에 NFS에 대한 모든 지원을 제거할 것입니다. 이는 원래 2022년 5월 22일에 계획되어 있었으나, Gitaly Cluster의 계속된 성숙화를 허용하기 위해 지원 날짜를 연장하기로 선택했습니다. 자세한 정보는 공식 [지원 성명서](https://about.gitlab.com/support/statement-of-support/#gitaly-and-nfs)를 참조하십시오. Gitaly Cluster는 다음과 같은 고객들에게 엄청난 혜택을 제공합니다: - [변수 복제 인자](https://docs.gitlab.com/ee/administration/gitaly/index.html#replication-factor). - [강력한 일관성](https://docs.gitlab.com/ee/administration/gitaly/index.html#strong-consistency). - [분산된 읽기 기능](https://docs.gitlab.com/ee/administration/gitaly/index.html#distributed-reads). 현재 NFS를 사용하는 고객들은 [Gitaly Cluster로의 이전](https://docs.gitlab.com/ee/administration/gitaly/index.html#migrate-to-gitaly-cluster)을 계획하시기 바랍니다.
## GitLab 15.4
### 번들된 Grafana 폐지
- GitLab 15.3에서 발표 - GitLab 15.4에서 제거됨 - 이 변경에 대한 논의 또는 더 많은 정보는 [폐지 문제](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/6972)를 참조하세요.
GitLab 15.4에서 번들된 Grafana를 GitLab이 유지보수하는 Grafana 포크로 교체할 것입니다. Grafana에 대한 [식별된 CVE](https://nvd.nist.gov/vuln/detail/CVE-2022-31107)가 있었으며, 이 보안 취약점을 완화하기 위해 구 버전의 Grafana는 장기 지원을 더이상 받지 않기 때문에 저희 자체 포크로 교체해야 합니다. 이로 인해 이전 버전의 Grafana를 사용할 때 기존 버전과 호환성에 문제가 예상되지 않습니다. 번들된 버전 또는 외부 Grafana를 사용할 때 모두 영향을 미치지 않을 것입니다.
### SAST 분석기 통합 및 CI/CD 템플릿 변경
- GitLab 14.8에서 발표 - GitLab 15.4에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경에 대한 논의 또는 더 많은 정보는 [폐지 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352554)를 참조하세요.
GitLab SAST는 취약점을 스캔하기 위해 다양한 [분석기](https://docs.gitlab.com/ee/user/application_security/sast/analyzers/)를 사용합니다. 길게 기간 진행하고 더 나은 사용자 경험을 제공하기 위한 우리의 장기 전략 중 일환으로 GitLab SAST에서 사용하는 분석기의 수를 줄이고 있습니다. 이 분석기 세트를 간소화하는 것은 대부분의 경우 CI 러너 사용량을 줄이는 것을 비롯해 더 빠른 [반복](https://handbook.gitlab.com/handbook/values/#iteration), 더 나은 [결과](https://handbook.gitlab.com/handbook/values/#results), 그리고 더 큰 [효율성](https://handbook.gitlab.com/handbook/values/#efficiency)을 가능하게 할 것입니다. GitLab 15.4에서는 GitLab SAST가 다음 분석기를 더 이상 사용하지 않을 것입니다: - [ESLint](https://gitlab.com/gitlab-org/security-products/analyzers/eslint) (JavaScript, TypeScript, React) - [Gosec](https://gitlab.com/gitlab-org/security-products/analyzers/gosec) (Go) - [Bandit](https://gitlab.com/gitlab-org/security-products/analyzers/bandit) (Python) NOTE: 이 변경은 원래 GitLab 15.0에서 계획되었으나 GitLab 15.4로 연기되었습니다. 이러한 분석기는 [GitLab에서 관리하는 SAST CI/CD 템플릿](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml)에서 제거되어 [Semgrep 기반 분석기](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep)로 대체될 것입니다. 즉시, 이러한 분석기는 보안 업데이트만 받을 것이며, 다른 일상적인 개선 사항 또는 업데이트는 보장되지 않을 것입니다. 이러한 분석기의 지원 종료 후 추가 업데이트는 제공되지 않을 것입니다. 이러한 분석기에 이전에 발표된 컨테이너 이미지는 삭제되지 않을 것이며, 그러한 변경은 [폐지, 제거 또는 breaking change 발표](https://handbook.gitlab.com/handbook/marketing/blog/release-posts/#deprecations-removals-and-breaking-changes)로 발표될 것입니다. 또한 [SpotBugs](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs) 분석기 범주에서 Java를 제외시키고 [Semgrep 기반 분석기](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep)로 대체할 것입니다. 이 변경으로 자바 코드를 스캔하는 것이 더 간단해질 것입니다. 컴파일이 더 이상 필요하지 않을 것입니다. 이 변경은 [GitLab에서 관리하는 SAST CI/CD 템플릿](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml)의 자동 언어 감지 부분에 반영될 것입니다. SpotBugs 기반 분석기는 계속해서 Groovy, Kotlin 및 Scala를 지원할 것입니다. 이미 폐기된 분석기 중 하나의 취약점을 이전에 거부한 경우, 대체 분석기는 이전 거부 사항을 존중하려고 노력할 것입니다. 시스템 동작은 다음에 따라 달라집니다: - 과거에 Semgrep 기반 분석기를 실행에서 제외했는지 여부. - 프로젝트의 취약점 보고서에 표시된 취약점을 처음 발견한 분석기. 자세한 내용은 [취약점 번역 문서](https://docs.gitlab.com/ee/user/application_security/sast/analyzers.html#vulnerability-translation)를 참조하세요. 해당 분석기 중 어떤 것에 대해 사용자 지정을 적용했거나 현재 파이프라인에서 Semgrep 분석기를 비활성화한 경우, 이 변경에 대한 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/352554#breaking-change)에 자세히 기술된 조치를 취해야 합니다.
## GitLab 15.3
### 취약점 보고서 상태별 정렬
- GitLab에서 발표됨 15.0 - GitLab에서 제거됨 15.3 - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/360516)를 참조하십시오.
Vulnerability Report를 `State` 열로 정렬하는 기능이 GitLab 14.10에서 기반 데이터 모델의 리팩토링으로 비활성화되고 피처 플래그 뒤로 숨겨졌습니다. 이 값으로 정렬하는 것이 성능을 유지하려면 추가적인 리팩토링이 필요하여 피처 플래그는 계속 기본으로 비활성화된 채로 유지되었습니다. `State` 열을 정렬하는 데 사용량이 매우 낮기 때문에 대신 피처 플래그를 제거하여 코드베이스를 간소화하고 원치 않는 성능 저하를 방지할 것입니다.
### 취약점 보고서 도구별 정렬
- GitLab에서 발표됨 15.1 - GitLab에서 제거됨 15.3 - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/362962)를 참조하십시오.
Vulnerability Report를 `Tool` 열(스캔 유형)로 정렬하는 기능이 GitLab 14.10에서 기반 데이터 모델의 리팩토링으로 비활성화되고 피처 플래그 뒤로 숨겨졌습니다. 이 값으로 정렬하는 것이 성능을 유지하려면 추가적인 리팩토링이 필요하여 피처 플래그는 계속 기본으로 비활성화된 채로 유지되었습니다. `Tool` 열을 정렬하는 데 사용량이 매우 낮기 때문에 피처 플래그를 대신 GitLab 15.3에서 제거하여 코드베이스를 간소화하고 원치 않는 성능 저하를 방지할 것입니다.
## GitLab 15.1
### Debian 9 지원 중단
- GitLab에서 발표됨 14.9 - GitLab에서 제거됨 15.1
긴 시간 서비스 및 지원(LTSS)은 2022년 7월에 [Debian 9 Stretch에서 종료됩니다](https://wiki.debian.org/LTS). 따라서 GitLab 패키지에서는 더 이상 Debian 9 배포를 지원하지 않습니다. 사용자는 Debian 10 또는 Debian 11로 업그레이드할 수 있습니다.
## GitLab 15.0
### 리포지터리 푸시 이벤트에 대한 감사 이벤트
- GitLab에서 발표됨 14.3 - GitLab에서 제거됨 15.0 ([변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/337993)를 참조하십시오.
[리포지터리 이벤트](https://docs.gitlab.com/ee/administration/audit_events.html#removed-events)에 대한 감사 이벤트가 이제 폐기될 예정이며 GitLab 15.0에서 제거될 것입니다. 이러한 이벤트는 항상 기본적으로 비활성화되어 있었으며 피처 플래그를 매뉴얼으로 활성화해야 했습니다. 이를 활성화하면 너무 많은 이벤트가 생성되어 GitLab 인스턴스를 극적으로 느리게 만들 수 있습니다. 이러한 이유로 이러한 이벤트가 제거됩니다.
### 객체 리포지터리를 위한 배경 업로드
- GitLab에서 발표됨 14.9 - GitLab에서 제거됨 15.0 ([변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/26600)를 참조하십시오.
GitLab의 [객체 리포지터리 기능](https://docs.gitlab.com/ee/administration/object_storage.html)의 전반적인 복잡성과 유지 관리 부담을 줄이기 위해 파일을 업로드하는 데 사용되는 `background_upload`의 지원이 폐기되어 GitLab 15.0에서 완전히 제거될 것입니다. [객체 리포지터리를 위한 배경 업로드 설정이 제거됩니다](https://docs.gitlab.com/omnibus/update/gitlab_15_changes.html)에서 [15.0에 대한 특정 변경 사항](https://docs.gitlab.com/omnibus/update/gitlab_15_changes.html#removed-background-uploads-settings-for-object-storage)을 검토하십시오. 이는 일부 객체 리포지터리 제공 업체에 영향을 미칩니다: - **OpenStack** OpenStack을 사용하는 고객은 Swift 대신 S3 API를 사용하도록 구성을 변경해야 합니다. - **RackSpace** RackSpace 기반 객체 리포지터리를 사용하는 고객은 데이터를 다른 제공 업체로 이관해야 합니다. GitLab은 영향을 받는 고객을 지원하기 위해 추가 안내를 제공할 예정입니다.
### CI/CD 작업 이름 길이 제한
- GitLab에서 발표됨 14.6 - GitLab에서 제거됨 15.0 ([변경 사항](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/342800)를 참조하십시오.
GitLab 15.0에서는 CI/CD 작업 이름의 문자 수를 255로 제한할 예정입니다. 255자 제한을 초과하는 작업 이름을 가진 파이프라인은 15.0 릴리스 이후에 작동을 중지합니다.
### 인스턴스(공유) 러너를 프로젝트(특정) 러너로 변경하는 방법
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 더 알아보려면 [중단 사항 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/345347)를 참조하세요.
GitLab 15.0에서는 더 이상 인스턴스(공유) 러너를 프로젝트(특정) 러너로 변경할 수 없습니다. 사용자들은 종종 실수로 인스턴스 러너를 프로젝트 러너로 변경하고 나중에 다시 변경할 수 없게 됩니다. GitLab은 프로젝트 러너를 공유 러너로 변경하는 것을 허용하지 않습니다. 보안 문제로 인해 한 프로젝트에 대한 러너가 전체 인스턴스의 작업을 실행하도록 설정될 수 있습니다. 여러 프로젝트에 러너를 추가해야 하는 관리자는 해당 프로젝트를 위해 러너를 등록한 다음, 관리자 보기로 이동하여 추가 프로젝트를 선택할 수 있습니다.
### 컨테이너 네트워크 및 호스트 보안
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
GitLab의 컨테이너 네트워크 보안 및 컨테이너 호스트 보안 관련 모든 기능은 GitLab 14.8에서 중단되었으며 GitLab 15.0에서 제거될 예정입니다. 이러한 기능의 대체품이 필요한 사용자들은 다음 오픈 소스 프로젝트를 평가하여 GitLab 밖에서 설치하고 관리할 수 있는 잠재적인 솔루션으로 고려할 것을 권장합니다: [AppArmor](https://gitlab.com/apparmor/apparmor), [Cilium](https://github.com/cilium/cilium), [Falco](https://github.com/falcosecurity/falco), [FluentD](https://github.com/fluent/fluentd), [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/). 이러한 기술들을 GitLab에 통합하려면 원하는 Helm 차트를 [Cluster Management Project Template](https://docs.gitlab.com/ee/user/clusters/management_project_template.html)에 복사하여 원하는 대로 배포하세요. 이러한 Helm 차트를 GitLab [CI/CD](https://docs.gitlab.com/ee/user/clusters/agent/ci_cd_workflow.html)를 통해 호출하여 프로덕션에 배포하세요. 본 변경의 일환으로, 다음과 같은 GitLab의 특정 기능들이 이제 중단되었으며, GitLab 15.0에서 제거될 예정입니다: - **보안 및 규정 준수 > 위협 모니터링** 페이지 - **보안 및 규정 준수 > 정책** 페이지에서 찾을 수 있는 `Network Policy` 보안 정책 유형 - 다음 기술과의 통합을 GitLab을 통해 관리하는 기능: AppArmor, Cilium, Falco, FluentD 및 Pod Security Policies - 위 기능과 관련된 모든 API 추가적인 컨텍스트 또는 이 변경에 대한 피드백을 제공하려면, 오픈 [중단 이슈](https://gitlab.com/groups/gitlab-org/-/epics/7476)를 참조하세요.
### 14.0.0 미만의 컨테이너 스캐닝 스키마
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 제거됨
[컨테이너 스캐닝 보고 스키마](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases)의 14.0.0 미만 버전은 GitLab 15.0에서 더 이상 지원되지 않습니다. 보고서에서 선언된 스키마 버전에 대한 유효성 검사를 통과하지 못하는 보고서도 GitLab 15.0에서 더 이상 지원되지 않을 것입니다. [파이프라인 작업 아티팩트로 컨테이너 스캐닝 보안 보고서를 출력하여 GitLab과 통합하는](https://docs.gitlab.com/ee/development/integrations/secure.html#report) 타사 도구가 영향을 받습니다. 모든 출력 보고서가 14.0.0 이상의 올바른 스키마를 준수하도록 보장해야 합니다. 지정된 스키마 버전보다 낮거나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며, 취약성 결과는 MR(Merge Request), 파이프라인 또는 취약성 보고서에 표시되지 않습니다. 전환을 돕기 위해 GitLab 14.10부터 준수하지 않는 보고서는 취약성 보고서에 [경고](https://gitlab.com/gitlab-org/gitlab/-/issues/335789#note_672853791)를 표시합니다.
### 14.0.0 미만의 커버리지 가이드 퍼징 스키마
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 제거됨
14.0.0 미만 버전의 [커버리지 가이드 퍼징 보고 스키마](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases)가 GitLab 15.0에서 더 이상 지원되지 않을 예정입니다. 보고서에서 선언된 스키마 버전에 대한 유효성 검사를 통과하지 못하는 보고서도 GitLab 15.0에서 더 이상 지원되지 않을 것입니다. [파이프라인 작업 아티팩트로 커버리지 가이드 퍼징 보안 보고서를 출력하여 GitLab과 통합하는](https://docs.gitlab.com/ee/development/integrations/secure.html#report) 타사 도구가 영향을 받습니다. 모든 출력 보고서가 14.0.0 이상의 올바른 스키마를 준수하도록 보장해야 합니다. 지정된 스키마 버전보다 낮거나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며, 취약성 결과는 MR, 파이프라인 또는 취약성 보고서에 표시되지 않습니다. 전환을 돕기 위해 GitLab 14.10부터 준수하지 않는 보고서는 취약성 보고서에 [경고](https://gitlab.com/gitlab-org/gitlab/-/issues/335789#note_672853791)를 표시합니다.
### 14.0.0 이하의 DAST 스키마
- GitLab 14.7에 발표됨 - GitLab 15.0에서 제거됨
[DAST 보고서 스키마](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) 14.0.0 이전의 버전은 GitLab 15.0에서 더 이상 지원되지 않습니다. 보고서에서 선언된 스키마 버전을 통과하지 못하는 보고서도 GitLab 15.0부터 더 이상 지원되지 않을 것입니다. GitLab과 파이프라인 작업 아티팩트로 DAST 보안 보고서를 출력하여 GitLab과 통합하는 타사 도구들은 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하는지 최소 버전이 14.0.0인지 확인해야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약성 결과가 MR(Merge Requests), 파이프라인 또는 취약성 보고서에 표시되지 않습니다. 이전으로부터의 전환을 돕기 위해, GitLab 14.10부터, 준수하지 않는 보고서가 취약성 보고서에 [표시되는 경고](https://gitlab.com/gitlab-org/gitlab/-/issues/335789#note_672853791)가 발생할 것입니다.
### Dependency Scanning Python 3.9 및 3.6 이미지 중단
- GitLab 14.8에 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 토론이나 자세한 내용은 [중단 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/334060)를 참조하십시오.
Python 프로젝트에서 Dependency Scanning을 사용하는 경우, Python 3.6을 사용하는 기본 `gemnasium-python:2` 이미지와 Python 3.9를 사용하는 사용자 정의 `gemnasium-python:2-python-3.9` 이미지를 중단합니다. GitLab 15.0의 새로운 기본 이미지는 3.9용이며 이는 [지원되는 버전](https://endoflife.date/python)이며 3.6은 [더 이상 지원되지 않습니다](https://endoflife.date/python). Python 3.9 또는 3.9 호환 프로젝트를 사용하는 사용자들은 조치를 취할 필요가 없으며, GitLab 15.0에서 의존성 스캔이 작동해야 합니다. 새로운 컨테이너를 테스트하려면 다음 컨테이너로 프로젝트의 테스트 파이프라인을 실행하십시오 (15.0에서 제거될 것). Python 3.9 이미지를 사용하세요: ```yaml 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에서는 더 이상 의존성 스캐닝을위한 기본 템플릿을 사용할 수 없게 될 것입니다. 사용자는 사용자에게 영향을 미치는 경우 [이 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/351503)에 의견을 남겨주시기 바랍니다. 3.9 특별 예외 이미지를 사용하는 사용자는 더 이상 컨테이너를 재정의하지 말고 기본 값을 사용해야 합니다. 3.9 특별 예외 이미지를 사용 중인지 확인하려면 `.gitlab-ci.yml` 파일에서 다음 참조를 확인하세요: ```yaml gemnasium-python-dependency_scanning: image: name: registry.gitlab.com/gitlab-org/security-products/analyzers/gemnasium-python:2-python-3.9 ```
### 의존성 스캐닝 기본 Java 버전이 17로 변경됨
- GitLab 14.10에 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
GitLab 15.0에서, 의존성 스캐닝을 위해 스캐너가 예상하는 기본 Java 버전이 11에서 17로 업데이트됩니다. Java 17은 [최신 장기 지원 (LTS) 버전](https://en.wikipedia.org/wiki/Java_version_history)입니다. 의존성 스캐닝은 여전히 [버전 범위 (8, 11, 13, 14, 15, 16, 17)](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#supported-languages-and-package-managers)을 지원하지만 기본 버전이 변경됩니다. 프로젝트가 이전의 기본 Java 11을 사용하는 경우 [DS_Java_Version` 변수를 일치시켜야](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#configuring-specific-analyzers-used-by-dependency-scanning)합니다.
### 14.0.0 이하의 의존성 스캐닝 스키마
- GitLab 14.7에 발표됨 - GitLab 15.0에서 제거됨
[의존성 스캐닝 보고서 스키마](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases)의 14.0.0 이전 버전은 GitLab 15.0에서 더 이상 지원되지 않습니다. 보고서에서 선언된 스키마 버전을 통과하지 못하는 보고서도 GitLab 15.0부터 더 이상 지원되지 않을 것입니다. GitLab과 파이프라인 작업 아티팩트로 의존성 스캔 보안 보고서를 출력하여 GitLab과 통합하는 타사 도구들은 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하는지 최소 버전이 14.0.0인지 확인해야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약성 결과가 MR(Merge Requests), 파이프라인 또는 취약성 보고서에 표시되지 않습니다. 이전으로부터의 전환을 돕기 위해, GitLab 14.10부터, 준수하지 않는 보고서가 취약성 보고서에 [표시되는 경고](https://gitlab.com/gitlab-org/gitlab/-/issues/335789#note_672853791)가 발생할 것입니다.
### Geo 관리자 UI 경로 폐기
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거됨 - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/351345)를 참조하세요.
GitLab 13.0에서 Geo 관리자 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에서 제거됨 - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/351945)를 참조하세요.
GitLab 14.8에서 [Geo 추적 데이터베이스를 Rails의 6 버전에서 지원하는 여러 데이터베이스로 전환](https://gitlab.com/groups/gitlab-org/-/epics/6458)한 후에, `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에서 제거됨 ([중대 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/262019)를 참조하세요.
GitLab 15.0에서 피처 플래그 `PUSH_RULES_SUPERSEDE_CODE_OWNERS`가 제거될 것입니다. 이 제거에 따라 푸시 규칙이 코드 소유자를 대체합니다. 코드 소유자 승인이 필요하더라도 특정 사용자가 코드를 푸시하는 것을 명시적으로 허용하는 푸시 규칙이 코드 소유자 설정을 우선합니다.
### Elasticsearch 6.8
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거됨 ([중대 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/350275)를 참조하세요.
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에서 지원할 예정](https://gitlab.com/gitlab-org/gitlab/-/issues/327560)입니다.
### 보안 보고서 스키마의 강제 검증
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 제거됨 - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐기 이슈](https://gitlab.com/groups/gitlab-org/-/epics/6968)를 참조하세요.
[보안 보고서 스키마](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases)의 14.0.0 이전 버전은 GitLab 15.0에서 더 이상 지원되지 않을 것입니다. 보고서가 선언된 스키마 버전을 기준으로 유효성을 검사하지 않는 경우에도 GitLab 15.0에서 더 이상 지원되지 않습니다. [보안 보고서를 출력하여 GitLab과 통합하는 보안 도구](https://docs.gitlab.com/ee/development/integrations/secure.html#report)가 영향을 받습니다. 모든 출력 보고서가 올바른 스키마를 준수하고 14.0.0 이상의 버전을 가져야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약점 결과는 MR, 파이프라인 또는 취약점 보고서에 표시되지 않을 것입니다. GitLab 14.10부터 전환을 돕기 위해 미준수 보고서는 취약점 보고서에 [경고](https://gitlab.com/gitlab-org/gitlab/-/issues/335789#note_672853791)가 표시될 것입니다.
### 외부 상태 확인 API 파괴적 변화
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거됨 ([파괴적 변화](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
[외부 상태 확인 API](https://docs.gitlab.com/ee/api/status_checks.html)는 원래 기본으로 통과하는 요청을 지원하기 위해 구현되었습니다. 기본으로 통과하는 요청은 더 이상 지원되지 않습니다. 구체적으로 다음 사항이 지원되지 않게 되었습니다: - `status` 필드가 포함되지 않은 요청 - `status` 필드가 `approved`로 설정된 요청 GitLab 15.0부터 상태 확인은 `status` 필드가 존재하고 `passed`로 설정된 경우에만 통과 상태로 업데이트됩니다. 다음과 같은 요청은: - `status` 필드가 포함되지 않으면 `422` 오류와 함께 거부됩니다. 자세한 정보는 [관련 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/338827)를 참조하세요. - `passed` 이외의 값이 포함되면 상태 확인이 실패합니다. 자세한 내용은 [관련 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/339039)를 참조하세요. 이 변경 사항에 맞추기 위해 외부 상태 확인 디렉터리을 나열하는 API 호출은 통과한 상태 확인에 대해 `approved` 대신 `passed` 값을 반환합니다.
### GitLab Pages 데몬으로 실행
- GitLab 14.9에서 발표됨 - GitLab 15.0에서 제거됨
15.0에서 GitLab Pages의 데몬 모드 지원이 제거될 예정입니다.
### GitLab Serverless
- GitLab 14.3에서 발표됨 - GitLab 15.0에서 제거됨 ([파괴적 변화](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 더 자세히 알아보려면 [파괴적 변화 이슈](https://gitlab.com/groups/gitlab-org/configure/-/epics/6)를 참조하세요.
GitLab Serverless는 Knative 기반의 서버리스 개발을 지원하는 기능 세트로, 자동 배포와 모니터링이 포함되어 있습니다. 우리는 GitLab Serverless 기능을 사용자들과 충분히 공감되지 않아 제거하기로 결정했습니다. 게다가 Kubernetes 및 Knative의 지속적인 개발을 고려할 때, 우리의 현재 구현은 최근 버전과 작동하지 않습니다.
### 라이선스 컴플라이언스에서의 Godep 지원
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 제거됨 - 이 변경 사항에 대해 토론하거나 더 자세히 알아보려면 [파괴적 변화 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/327057)를 참조하세요.
Golang의 Godep 의존성 관리자는 2020년에 Go에 의해 더 이상 사용되지 않고 Go 모듈로 대체되었습니다. 유지 보수 비용을 줄이기 위해 14.7부터 Godep 프로젝트에 대한 라이선스 컴플라이언스를 사용하지 않게 되었으며, GitLab 15.0에서 제거될 예정입니다.
### GraphQL ID 및 GlobalID 호환성
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거됨 ([파괴적 변화](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 더 자세히 알아보려면 [파괴적 변화 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/257883)를 참조하세요.
우리는 역호환성을 위해 추가한 GraphQL 프로세서의 비표준 확장을 제거합니다. 이 확장은 GraphQL 쿼리의 유효성을 수정하여 일반적으로 거부되는 경우에도 `ID` 유형을 인수에 사용할 수 있도록 합니다. 일부 인수는 원래 `ID` 유형이었습니다. 이러한 유형은 구체적인 `ID`로 변경되었습니다. 이 변경 사항은 다음을 포함하여 귀하에게 파괴적인 변화 일 수 있습니다: - GraphQL을 사용합니다. - 쿼리 서명에서 어떤 인수에 대해 `ID` 유형을 사용합니다. 일부 필드 인수는 여전히 `ID` 유형입니다. 이는 일반적으로 IID 값이나 네임스페이스 경로를 나타냅니다. 예를 들면 `Query.project(fullPath: ID!)`입니다. 영향을 받는 및 영향을 받지 않는 필드 인수 디렉터리에 대해서는 [파괴적 변화 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/352832)를 참조하세요. 이 변경 사항이 귀하에게 영향을 미치는지 로컬에서 쿼리를 유효성 검사하여 테스트할 수 있습니다. 이는 해당 GitLab 인스턴스에서 가져온 스키마 데이터를 사용하여 로컬에서 쿼리를 유효성 검사함으로써 수행할 수 있습니다. 이는 다음과 같은 방법으로 가능합니다: `https://gitlab.com/-/graphql-explorer`. 예를 들어, 다음 쿼리는 파괴적인 변화를 보여줍니다: ```graphql # 폐기된 형식의 Query.issue(id:)를 사용하는 쿼리 # 경고: GitLab 15.0 이후에 작동하지 않습니다 query($id: ID!) { deprecated: issue(id: $id) { title, description } } ``` 위의 쿼리는 GitLab 15.0 이후에 작동하지 않을 것입니다. 왜냐하면 `Query.issue(id:)`의 유형은 실제로 `IssueID!`입니다. 대신, 다음 두 형식 중 하나를 사용해야 합니다: ```graphql # 계속해서 작동합니다 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에서 삭제 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
GitLab 패키지 스테이지는 패키지 레지스트리, 컨테이너 레지스트리 및 의존성 프록시를 제공하여 GitLab을 사용하여 모든 의존성을 관리하는 데 도움을 줍니다. 이러한 제품 범주마다 API를 사용하여 조정할 수 있는 다양한 설정이 있습니다. GraphQL의 권한 모델이 업데이트 됩니다. 15.0 이후에는 게스트, 기고자 및 개발자 역할을 하는 사용자는 이러한 설정을 더 이상 업데이트할 수 없습니다: - [패키지 레지스트리 설정](https://docs.gitlab.com/ee/api/graphql/reference/#packagesettings) - 컨테이너 레지스트리 정리 정책 - 의존성 프록시 TTL(Time-To-Live) 정책 - 그룹을 위한 의존성 프록시 활성화
### GitLab Runner SSH 실행자에 필요한 알려진 호스트
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 삭제 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세한 내용을 알아보려면 [폐지 예정 이슈](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/28192)를 참조하세요.
[GitLab 14.3](https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/3074)에서 GitLab Runner `config.toml` 파일에 구성 설정을 추가했습니다. 이 설정인 [`[runners.ssh.disable_strict_host_key_checking]`](https://docs.gitlab.com/runner/executors/ssh.html#security)는 SSH 실행자에서 엄격한 호스트 키 확인을 사용할지 여부를 제어합니다. GitLab 15.0 이후에 이 구성 옵션의 기본값은 `true`에서 `false`로 변경됩니다. 이는 SSH 실행자를 사용할 때 엄격한 호스트 키 확인이 강제됨을 의미합니다.
### 라이선스 컴플라이언스 API에서의 레거시 승인 상태 이름
- GitLab 14.6에서 발표됨 - GitLab 15.0에서 삭제 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세한 내용을 알아보려면 [폐지 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/335707)를 참조하세요.
우리는 `managed_licenses` API에서 라이선스 정책의 승인 상태(블랙리스트 지정, 승인됨)에 대한 레거시 이름을 사용하지 않게 만들었으나 여전히 API 쿼리 및 응답에서 사용됩니다. 이러한 이름은 15.0에서 제거됩니다. 라이선스 컴플라이언스 API를 사용하는 경우 `approved` 및 `blacklisted` 쿼리 매개변수 사용을 중지해야 합니다. 지금은 `allowed` 및 `denied`로 사용됩니다. 15.0에서 응답도 더는 `approved` 및 `blacklisted`를 사용하지 않으므로 기존 도구를 조정하여 15.0 릴리스에서 깨지지 않도록 해야 합니다.
### 레거시 데이터베이스 구성
- GitLab 14.3에서 발표됨 - GitLab 15.0에서 삭제 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세한 내용을 알아보려면 [폐지 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/338182)를 참조하세요.
`database.yml`에 위치한 [GitLab 데이터베이스](https://docs.gitlab.com/omnibus/settings/database.html) 구성 구문이 변경되어 레거시 형식이 폐기 예정입니다. 레거시 형식은 단일 PostgreSQL 어댑터를 사용했지만 새 형식은 여러 데이터베이스를 지원하도록 변경됩니다. `main:` 데이터베이스는 첫 번째 구성 항목으로 정의되어야 합니다. 이 폐기 예정은 주로 소스에서 GitLab을 컴파일하는 사용자에게 영향을 미칩니다. Omnibus가 이 구성을 자동으로 처리하기 때문에.
### GitLab의 로깅
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 삭제 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경사항에 대해 토론하거나 자세한 내용을 알아보려면 [폐지 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/346485)를 참조하세요.
GitLab의 로그 기능을 사용하면 ELK 스택(엘라스틱서치, 로그스태시 및 키바나)을 설치하여 애플리케이션 로그를 집계하고 관리할 수 있습니다. 사용자는 GitLab에서 관련 로그를 검색할 수 있습니다. 그러나 쿠버네티스 클러스터 및 GitLab 관리 앱과의 인증서 기반 통합을 폐기한 후로 GitLab 내에서 로깅을 위한 권장 솔루션이 없습니다. 더 많은 정보를 원하시면 [GitLab과 Opstrace를 통합](https://gitlab.com/groups/gitlab-org/-/epics/6976)하는 이슈를 따를 수 있습니다.
### `custom_hooks_dir` 설정을 GitLab Shell에서 Gitaly로 이동
- GitLab 14.9에서 발표됨 - GitLab 15.0에서 삭제 예정
[`custom_hooks_dir`](https://docs.gitlab.com/ee/administration/server_hooks.html#create-a-global-server-hook-for-all-repositories) 설정은 이제 Gitaly에서 구성되며, GitLab Shell에서 GitLab 15.0에서 제거될 것입니다.
### OAuth 암시적 그랜트
- GitLab 14.0에서 발표 - GitLab 15.0에서 제거 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
다음 주요 릴리스인 GitLab 15.0에서 OAuth 암시적 그랜트 인증 흐름이 제거될 예정입니다. OAuth 암시적 그랜트를 사용하는 애플리케이션은 대안적인 [지원되는 OAuth 흐름](https://docs.gitlab.com/ee/api/oauth2.html)으로 변경해야 합니다.
### 만료되지 않는 OAuth 토큰
- GitLab 14.8에서 발표 - GitLab 15.0에서 제거 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
기본적으로 모든 새로운 애플리케이션은 2시간 후에 액세스 토큰이 만료됩니다. GitLab 14.2 이전에는 OAuth 액세스 토큰에 만료 기간이 없었습니다. GitLab 15.0에서 만료 기간이 없는 기존 토큰에 대해 자동으로 만료 기간이 생성됩니다. GitLab 15.0 릴리스 전에 액세스 토큰의 만료를 [활성화](https://docs.gitlab.com/ee/integration/oauth_provider.html#access-token-expiration)해야 합니다. 1. 애플리케이션을 편집합니다. 2. 액세스 토큰 만료를 활성화하려면 **액세스 토큰 만료**를 선택합니다. 토큰은 취소되거나 만료되지 않는 한 만료되지 않습니다.
### OmniAuth Kerberos gem
- GitLab 14.3에서 발표 - GitLab 15.0에서 제거 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/337384)를 참조하세요.
`omniauth-kerberos` 젬은 다음 주요 릴리스인 GitLab 15.0에서 제거될 예정입니다. 이 젬은 유지되지 않았으며 사용량이 매우 적습니다. 따라서 이 인증 방법에 대한 지원을 제거하고 대신 Kerberos [SPNEGO](https://en.wikipedia.org/wiki/SPNEGO) 통합을 사용하는 것을 권장합니다. `omniauth-kerberos` 통합에서 지원되는 통합으로 업그레이드하려면 [업그레이드 지침](https://docs.gitlab.com/ee/integration/kerberos.html#upgrading-from-password-based-to-ticket-based-kerberos-sign-ins)을 따를 수 있습니다. 이 변경 사항은 Kerberos SPNEGO 통합 자체가 폐지되는 것이 아니라 이전의 기존 기반 Kerberos 통합이 폐지된다는 점을 유의하세요.
### PAT 만료의 선택적 강제 적용
- GitLab 14.8에서 발표 - GitLab 15.0에서 제거 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/351962)를 참조하세요.
PAT 만료의 강제 적용을 비활성화하는 기능은 보안적인 측면에서 비정상적입니다. 이러한 비정상적인 기능으로 인해 사용자에게 예기치 않은 동작이 발생할 수 있다는 우려가 생겼습니다. 보안 기능에서의 예기치 않은 동작은 잠재적으로 위험하기 때문에 이 기능을 제거하기로 결정했습니다.
### SSH 만료의 선택적 강제 적용
- GitLab 14.8에서 발표 - GitLab 15.0에서 제거 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/351963)를 참조하세요.
SSH 만료의 강제 적용을 비활성화하는 기능은 보안적인 측면에서 비정상적입니다. 이러한 비정상적인 기능으로 인해 사용자에게 예기치 않은 동작이 발생할 수 있다는 우려가 생겼습니다. 보안 기능에서의 예기치 않은 동작은 잠재적으로 위험하기 때문에 이 기능을 제거하기로 결정했습니다.
### Java 8에 대한 Out-of-the-box SAST 지원
- GitLab 14.8에서 발표 - GitLab 15.0에서 제거 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/352549)를 참조하세요.
[GitLab SAST SpotBugs analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs)는 [Java, Scala, Groovy, 그리고 Kotlin 코드](https://docs.gitlab.com/ee/user/application_security/sast/#supported-languages-and-frameworks)를 보안 취약점에 대해 스캔합니다. 기술적인 이유로 분석기는 스캔하기 전에 코드를 먼저 컴파일해야 합니다. [사전 컴파일 전략](https://docs.gitlab.com/ee/user/application_security/sast/#pre-compilation)을 사용하지 않는 한 분석기는 프로젝트 코드를 자동으로 컴파일하려고 합니다. GitLab 15.0 이전 버전에서 분석기 이미지에는 Java 8 및 Java 11 런타임이 포함되어 있었습니다. GitLab 15.0에서는: - 이미지 크기를 줄이기 위해 분석기 이미지에서 Java 8을 제거합니다. - Java 17을 분석기 이미지에 추가하여 Java 17로 컴파일하기가 좀 더 쉬워집니다. 분석기 환경에 Java 8이 필요한 경우 [이 변경에 대한 폐지 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/352549#breaking-change)에 자세히 기재된 조치를 취해야 합니다.
### 고정 보안 인덱스 마이그레이션 오래된 버전
- GitLab 14.10에서 공지됨 - GitLab 15.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [고정 해제 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/359133)를 참조하세요.
일반적으로 고급 검색 마이그레이션은 장기간에 걸쳐 다양한 코드 경로를 지원해야 하므로, 안전한 경우에 이를 정리하는 것이 중요합니다. 우리는 GitLab 주요 버전 업그레이드를 안전한 시기로 삼아 완전히 마이그레이션되지 않은 인덱스의 역 호환성을 제거합니다. 자세한 내용은 [업그레이드 문서](https://docs.gitlab.com/ee/update/index.html#upgrading-to-a-new-major-version)를 참조하세요.
### 익명화기
- GitLab 14.7에서 공지됨 - GitLab 15.0에서 제거 예정 - 이 변경 사항을 논의하거나 자세히 알아보려면 [고정 해제 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/219952)를 참조하세요.
일반적으로 익명화기 기능은 사용되지 않으며, 대규모 데이터베이스에서 프로덕션 문제를 일으킬 수 있으며, 객체 리포지터리 개발에 방해가 될 수 있습니다. 이제 이 기능은 사용하지 않는 것으로 간주되며, GitLab 15.0에서 제거될 예정입니다.
### `instanceStatisticsMeasurements` GraphQL 노드를 통한 사용량 트렌드 조회
- GitLab 14.8에서 공지됨 - GitLab 15.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [고정 해제 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/332323)를 참조하세요.
`instanceStatisticsMeasurements` GraphQL 노드는 13.10에서 `usageTrendsMeasurements`로 이름이 변경되었으며, 이전 필드 이름은 사용되지 않게 표시되었습니다. 기존의 GraphQL 쿼리를 수정하려면 `instanceStatisticsMeasurements`를 `usageTrendsMeasurements`로 대체하세요.
### 요청 프로파일링
- GitLab 14.8에서 공지됨 - GitLab 15.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [고정 해제 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/352488)를 참조하세요.
[요청 프로파일링](https://docs.gitlab.com/ee/administration/monitoring/performance/index.html)은 GitLab 14.8에서 사용되지 않는 기능으로, GitLab 15.0에서 제거될 예정입니다. 우리는 [프로파일링 도구를 통합](https://gitlab.com/groups/gitlab-org/-/epics/7327)하고 더 쉽게 접근할 수 있게 만들고 있습니다. 본 기능의 사용이 크게 제한적임을 확인했고, 현재 유지되지 않는 몇 가지 타사 젬에 의존하거나 Ruby의 최신 버전에 업데이트되지 않거나 페이지 로드가 무거울 때 자주 크래시하는 프로세스가 있습니다. 자세한 내용은 [고정 해제 이슈 요약 섹션](https://gitlab.com/gitlab-org/gitlab/-/issues/352488#deprecation-summary)을 확인하세요.
### Premium 티어에서 필요한 파이프라인 구성
- GitLab 14.8에서 공지됨 - GitLab 15.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
GitLab 14.8에서 Premium 고객을 대상으로한 [필수 파이프라인 구성](https://docs.gitlab.com/ee/administration/settings/continuous_integration.html#required-pipeline-configuration) 기능은 15.0에서 제거될 예정입니다. 이 기능은 GitLab Ultimate 고객에게는 사용되지 않습니다. 본 변경으로 해당 기능을 GitLab의 Ultimate 티어로 이동시켜 우리의 기능을 [가격 정책](https://handbook.gitlab.com/handbook/company/pricing/#three-tiers)과 더 일치시키고, 본 기능의 수요가 주로 임원들에서 기인한다고 보기 위함입니다. 본 변경은 또한 GitLab이 [보안 정책](https://docs.gitlab.com/ee/user/application_security/policies/) 및 [컴플라이언스 프레임워크 파이프라인](https://docs.gitlab.com/ee/user/project/settings/index.html#compliance-pipeline-configuration)과 같은 다른 Ultimate 티어 기능의 티어링 전략을 일관되게 유지할 수 있도록 도와줍니다.
### retire-JS 의존성 스캐닝 도구
- GitLab 14.8에서 공지됨 - GitLab 15.0에서 제거 예정 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [고정 해제 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/350510)를 참조하세요.
14.8 버전에서 retire.js 작업은 의존성 스캐닝에서 폐기됩니다. 이는 폐기될 때까지 CI/CD 템플릿에 포함될 예정입니다. retire.js는 15.0 버전에서 의존성 스캐닝에서 제거될 예정이며, 이로 인해 JavaScript 스캐닝 기능은 여전히 Gemnasium에 의해 처리될 것입니다. DS_EXCLUDED_ANALYZERS를 사용하여 명시적으로 retire.js를 제외한 경우 15.0에서 참조를 정리해야 합니다. retire.js에 특정하게 커스터마이즈된 템플릿이나 DS_EXCLUDED_ANALYZERS를 사용하지 않은 경우 조치할 필요가 없습니다.
### 14.0.0 이전의 SAST 스키마
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 삭제됨
[SAST 보고서 스키마](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases)에서 14.0.0 이전 버전은 GitLab 15.0에서 더 이상 지원되지 않습니다. 보고서가 선언된 스키마 버전을 통과하지 못하면 GitLab 15.0부터 더 이상 지원되지 않습니다. 파이프라인 작업 결과물로 SAST 보안 보고서를 출력하여 GitLab과 통합하는 타사 도구에 영향을 미칩니다. 모든 출력 보고서가 올바른 스키마를 준수하는지 최소 버전이 14.0.0인지 확인해야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약점 결과가 MR(Merge Request), 파이프라인, 또는 취약점 보고서에 표시되지 않습니다. 전환을 돕기 위해 GitLab 14.10부터 불만족스러운 보고서는 취약점 보고서에 [경고](https://gitlab.com/gitlab-org/gitlab/-/issues/335789#note_672853791)가 표시됩니다.
### .NET 2.1에 대한 SAST 지원
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 삭제됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [삭제 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352553)를 확인하세요.
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으로 변경할 것입니다. 이 변경으로 인해: - [취약점에 대한 심각도 값](https://gitlab.com/gitlab-org/gitlab/-/issues/350408)이 추가되며 [다른 새로운 기능 및 개선 사항](https://gitlab.com/gitlab-org/security-products/analyzers/security-code-scan/-/blob/master/CHANGELOG.md)이 포함됩니다. - .NET 2.1 지원이 제거됩니다. - .NET 6.0, Visual Studio 2019, 및 Visual Studio 2022를 지원합니다. 버전 3은 [GitLab 14.6에서 발표](https://about.gitlab.com/releases/2021/12/22/gitlab-14-6-released/#sast-support-for-net-6)되었으며 선택적 업그레이드로 제공됩니다. 분석기 이미지에 기본적으로 .NET 2.1 지원이 필요한 경우, 이 변경에 대한 [삭제 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352553#breaking-change)에 상세히 기술된 조치를 취해야 합니다.
### 비밀 감지 구성 변수 폐지
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 삭제됨 - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐지 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352565)를 확인하세요.
[GitLab 비밀 감지](https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings)를 사용자화하기 위해 이전에 CI/CD 구성에서 설정할 수 있던 일부 변수를 폐지합니다. 다음 변수들은 현재 당신의 CI/CD 구성에서 과거 스캔 옵션을 사용자화할 수 있었지만 [GitLab 관리 CI/CD 템플릿](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/Secret-Detection.gitlab-ci.yml)과 상호 작용이 나쁘게 되어 이제는 폐지됩니다: - `SECRET_DETECTION_COMMIT_FROM` - `SECRET_DETECTION_COMMIT_TO` - `SECRET_DETECTION_COMMITS` - `SECRET_DETECTION_COMMITS_FILE` `SECRET_DETECTION_ENTROPY_LEVEL`은 이제 사용되지 않으며, 코드베이스의 문자열 엔트로피 수준만을 고려하는 규칙을 구성할 수 있었습니다. GitLab 15.0에서는 비밀 감지 [분석기](https://docs.gitlab.com/ee/user/application_security/terminology/#analyzer)를 이러한 폐지된 옵션들을 무시하도록 업데이트합니다. 여전히 [`SECRET_DETECTION_HISTORIC_SCAN` CI/CD 변수](https://docs.gitlab.com/ee/user/application_security/secret_detection/#available-cicd-variables)를 설정하여 커밋 기록의 과거 스캔을 구성할 수 있습니다. 자세한 내용은 [이 변경 사항을 위한 폐지 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352565)를 참조하세요.
### 14.0.0 이전의 비밀 감지 스키마
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 삭제됨
[비밀 감지 보고서 스키마](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases)에서 14.0.0 이전 버전은 GitLab 15.0에서 더 이상 지원되지 않습니다. 보고서가 선언된 스키마 버전을 통과하지 못하면 GitLab 15.0부터 더 이상 지원되지 않습니다. 파이프라인 작업 결과물로 비밀 감지 보안 보고서를 출력하여 GitLab과 통합하는 타사 도구에 영향을 미칩니다. 모든 출력 보고서가 올바른 스키마를 준수하는지 최소 버전이 14.0.0인지 확인해야 합니다. 낮은 버전의 보고서나 선언된 스키마 버전을 통과하지 못하는 보고서는 처리되지 않으며 취약점 결과가 MR(Merge Request), 파이프라인, 또는 취약점 보고서에 표시되지 않습니다. 전환을 돕기 위해 GitLab 14.10부터 불만족스러운 보고서는 취약점 보고서에 [경고](https://gitlab.com/gitlab-org/gitlab/-/issues/335789#note_672853791)가 표시됩니다.
### 새 위치에 공개된 analyzer 이미지를 안전하게 보호하세요
- GitLab 14.8에서 발표 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352564)를 참조하세요.
GitLab은 [분석기](https://docs.gitlab.com/ee/user/application_security/terminology/#analyzer)를 사용하여 [보안 취약점을 검사](https://docs.gitlab.com/ee/user/application_security/)합니다. 각 분석기는 컨테이너 이미지로 배포됩니다. GitLab 14.8부터 새 버전의 GitLab Secure 및 Protect 분석기가 `registry.gitlab.com/security-products`의 새 레지스트리 위치에 게시됩니다. 이 변경 사항을 반영하도록 [GitLab에서 관리하는 CI/CD 템플릿](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates/Security)의 기본값을 업데이트할 것입니다: - 컨테이너 스캔을 제외한 모든 분석기의 경우, `SECURE_ANALYZERS_PREFIX` 변수를 새 이미지 레지스트리 위치로 업데이트할 것입니다. - 컨테이너 스캔의 경우, 기본 이미지 주소는 이미 업데이트되었습니다. 컨테이너 스캔에 대한 `SECURE_ANALYZERS_PREFIX` 변수는 없습니다. 향후 릴리스에서 `registry.gitlab.com/gitlab-org/security-products/analyzers`에 이미지를 더 이상 게시하지 않을 것입니다. 이 경우 이미지를 매뉴얼으로 가져와 별도의 레지스트리에 푸시해야 합니다. 이는 일반적으로 [오프라인 배포](https://docs.gitlab.com/ee/user/application_security/offline_deployments/index.html)의 경우입니다. 그렇지 않으면 더 이상 업데이트를 받을 수 없습니다. 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352564)를 참조하세요.
### Secure and Protect 분석기 주요 버전 업데이트
- GitLab 14.8에서 발표 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/350936)를 참조하세요.
Secure 및 Protect 단계에서는 GitLab 15.0 릴리즈와 함께 분석기의 주요 버전을 업데이트할 것입니다. 이 주요 업데이트로 인해 분석기의 다음과 같은 분류가 명확해집니다: - 2022년 5월 22일 이전에 출시된 분석기는 엄격한 스키마 유효성 검사를 받지 않는 보고서를 생성합니다. - 2022년 5월 22일 이후에 출시된 분석기는 엄격한 스키마 유효성 검사를 받는 보고서를 생성합니다. 기본 포함 템플릿을 사용하지 않거나 분석기 버전을 고정했다면 CI/CD 작업 정의를 업데이트하여 고정된 버전을 제거하거나 최신 주요 버전으로 업데이트해야 합니다. GitLab 12.0-14.10 사용자는 15.0 GitLab 릴리즈까지 새 주요 버전의 분석기를 계속해서 정상적으로 업데이트할 것입니다. 이후에는 새 주요 버전에서의 새로 고침된 버그 및 기능이 폐기된 버전에서 사용 불가능합니다. 왜냐하면 우리는 [유지 보수 정책](https://docs.gitlab.com/ee/policy/maintenance.html)에 따라 버그 및 새 기능을 백포트하지 않기 때문입니다. 특히, 다음이 폐기되어 15.0 GitLab 릴리즈 이후로 더 이상 업데이트되지 않을 것입니다: - API 보안: 버전 1 - 컨테이너 스캔: 버전 4 - 커버리지 유도 퍼즈 테스트: 버전 2 - 의존성 스캔: 버전 2 - 동적 애플리케이션 보안 테스트 (DAST): 버전 2 - 인프라스트럭처(Infrastructure) 코드 (IaC) 스캔: 버전 1 - 라이선스 스캔: 버전 3 - 시크릿 탐지: 버전 3 - 정적 애플리케이션 보안 테스트(SAST): [모든 분석기](https://docs.gitlab.com/ee/user/application_security/sast/#supported-languages-and-frameworks)의 버전 2, 단 `gosec`의 경우 현재 버전 3입니다 - `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](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대한 논의 또는 자세한 내용은 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/347509)를 참조하세요.
단워크플로 및 포트를 사용하여 Sidekiq 메트릭 및 상태 체크를 내보내는 것은 폐기되었습니다. 이 지원은 15.0에서 제거될 예정입니다. 우리는 Sidekiq를 업데이트하여 두 개의 별도 프로세스에서 [메트릭 및 상태 체크를 내보내도록 변경했습니다](https://gitlab.com/groups/gitlab-org/-/epics/6409). 이로써 안정성 및 가용성을 향상시키고 극단적인 경우의 데이터 손실을 방지할 수 있습니다. 이 두 가지는 별개의 서버이기 때문에 15.0에서는 메트릭 및 상태 체크를 각각에 대해 별도 포트로 명시적으로 설정해야 합니다. `sidekiq['health_checks_*']`에 대한 새로 추가된 설정은 항상 `gitlab.rb`에 설정해야 합니다. 자세한 내용은 [Sidekiq 구성](https://docs.gitlab.com/ee/administration/sidekiq/index.html) 문서를 확인하세요. 이러한 변경사항은 새로운 엔드포인트를 스크레이핑하기 위해 프로메테우스 또는 k8s 상태 체크를 업데이트해야 하므로, 그렇지 않으면 메트릭 또는 상태 체크가 사라질 수 있습니다. 폐기 기간 동안 이러한 설정은 선택 사항이며 GitLab은 Sidekiq 상태 체크 포트를 `sidekiq_exporter`와 동일한 포트로 기본값으로 설정하고 하나의 서버만 실행합니다 (현재 동작은 변경되지 않음). 둘 다 설정되어 다른 포트가 제공된 경우에만 별도 메트릭 서버가 실행되어 Sidekiq 메트릭을 제공하게 될 것입니다. 이는 Sidekiq가 15.0에서 동작할 것과 유사합니다.
### 정적 사이트 편집기
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 제거됨 - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/347137)를 참조하세요.
정적 사이트 편집기는 GitLab 15.0에서 더 이상 사용할 수 없게 될 것입니다. GitLab 전반에 걸쳐 Markdown 편집 경험을 향상시키는 것이 비슷한 이점을 제공하지만 더 넓은 범위로 제공될 것입니다. 정적 사이트 편집기로 들어오는 요청은 [웹 IDE](https://docs.gitlab.com/ee/user/project/web_ide/index.html)로 리디렉션될 것입니다. 정적 사이트 편집기의 현재 사용자는 기존 프로젝트에서 구성 파일을 제거하는 방법을 포함한 자세한 정보를 보려면 [문서](https://docs.gitlab.com/ee/user/project/web_ide/index.html)를 확인할 수 있습니다.
### SLES 12 SP2 지원
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
SUSE Linux Enterprise Server (SLES) 12 SP2의 장기 서비스 및 지원 (LTSS)은 [2021년 3월 31일에 종료되었습니다](https://www.suse.com/lifecycle/). SP2의 CA 인증서에는 만료된 DST 루트 인증서가 포함되어 있으며 새로운 CA 인증서 패키지 업데이트를 받지 못합니다. [워크어라운드](https://gitlab.com/gitlab-org/gitlab-omnibus-builder/-/merge_requests/191)를 구현했지만 빌드를 계속 정상적으로 유지할 수 없게 될 것입니다.
### Gitaly와 GitLab의 나머지 부분 간에 배포된 gRPC-aware 프록시 지원
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
권장되지 않지만 문서화되지는 않았지만, Gitaly와 GitLab의 나머지 부분 사이에 gRPC-aware 프록시를 배포하는 것이 가능했습니다. 예를 들어, NGINX 및 Envoy. gRPC-aware 프록시를 배포하는 능력이 [폐기됨](https://gitlab.com/gitlab-org/gitlab/-/issues/352517)으로 표시되었습니다. 현재 Gitaly 연결에 gRPC-aware 프록시를 사용하는 경우 프록시 구성을 OSI 레이어 4인 TCP 또는 TLS 프록시 사용으로 변경해야 합니다. Gitaly 클러스터는 GitLab 13.12에서 gRPC-aware 프록시와 호환되지 않았습니다. 이제 모든 GitLab 설치는 gRPC-aware 프록시와 호환되지 않을 것입니다. 내부 RPC 트래픽 중 일부를 커스텀 프로토콜을 통해 보내면(gRPC 대신) 처리량이 증가하고 Go 가비지 수집 대기 시간이 감소합니다. 자세한 내용은 [해당 epic](https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/463)을 참조하세요.
### 프로젝트 CI/CD 설정에서의 테스트 커버리지
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
GitLab 15.0에서 테스트 커버리지 구문을 설정하는 것을 단순화하기 위해 [프로젝트 설정에서 테스트 커버리지 구문을 제거](https://docs.gitlab.com/ee/ci/pipelines/settings.html#add-test-coverage-results-using-project-settings-removed)합니다. 대신, 프로젝트의 `.gitlab-ci.yml`을 사용하여 Merge Request에서 테스트 커버리지 결과를 설정하는 데 `coverage` 키워드와 정규 표현식을 제공하세요.
### GitLab에서의 추적
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/346540)를 참조하세요.
GitLab의 추적은 오픈소스 엔드 투 엔드 분산 추적 시스템인 Jaeger와의 통합입니다. GitLab 사용자는 Jaeger 인스턴스로 이동하여 배포된 응용 프로그램의 성능에 대한 통찰력을 얻어 특정 요청을 처리하는 각 함수 또는 마이크로서비스를 추적할 수 있습니다. GitLab의 추적은 GitLab 14.7에서 사용이 중단되었으며 15.0에서 제거될 예정입니다. 가능한 대체 작업을 추적하려면 [Opstrace 통합 with GitLab](https://gitlab.com/groups/gitlab-org/-/epics/6976)에 대한 문제를 참조하세요.
### 컨테이너 레지스트리 그룹 수준 API 업데이트
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거됨 ([중단 변경](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항을 논의하거나 자세히 알아보려면 [폐기 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/336912)를 참조하세요.
마일스톤 15.0에서 컨테이너 레지스트리 API에서 그룹에서 레지스트리 리포지터리를 가져오는 데 사용되는 `tags` 및 `tags_count` 매개변수를 지원할 수 없게 될 것입니다. `GET /groups/:id/registry/repositories` 엔드포인트는 유지되지만, 태그에 대한 정보를 반환하지는 않을 것입니다. 태그에 대한 정보를 얻으려면 현재처럼 `GET /registry/repositories/:id` 엔드포인트를 사용할 수 있으며, 후자는 이미지 리포지터리당 한 번씩 호출해야 합니다.
### Value Stream Analytics 필터링 계산 변경
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 사안](https://gitlab.com/gitlab-org/gitlab/-/issues/343210)을 확인하세요.
Value Stream Analytics에서 날짜 필터가 작동 방식이 변경됩니다. 이제 문제나 머지 요청이 생성된 시간으로 필터링하는 것이 아니라, 해당 단계의 종료 이벤트 시간으로 필터링될 것입니다. 이 변경 사항이 적용된 후에는 완전히 다른 수치가 나타날 것입니다. Value Stream Analytics 지표를 모니터링하고 날짜 필터를 사용하는 경우, 데이터 유실을 피하려면 이 변경 사항 이전에 데이터를 저장해야 합니다.
### 취약점 확인
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
취약점 확인 기능은 GitLab 14.8에서 사용이 중지되며 GitLab 15.0에서 제거될 예정입니다. 대신 새 보안 승인 기능으로 이관하는 것을 권장합니다. 이를 위해 **보안 및 규정 준수 > 정책**으로 이동하여 새로운 검사 결과 정책을 생성할 수 있습니다. 새로운 보안 승인 기능은 취약점 확인과 유사합니다. 예를 들어, 둘 다 보안 취약점을 포함하는 MR에 대한 승인을 요구할 수 있습니다. 그러나 보안 승인은 다음과 같은 여러 측면에서 이전 경험을 개선합니다: - 사용자는 보안 승인 규칙을 수정할 수 있는 사용자를 선택할 수 있습니다. 따라서 독립적인 보안팀이 규칙을 개발 프로젝트 관리자가 규칙을 수정하는 것을 방지하도록 규칙을 관리할 수 있습니다. - 여러 규칙을 생성하고 연결하여 각 스캐너 유형에 대해 다른 심각도 임계값을 필터링할 수 있습니다. - 원하는 변경에 대해 두 단계의 승인 프로세스를 강제로 만들 수 있습니다. - 단일 보안 정책 집합을 여러 개발 프로젝트에 적용하여 단일 및 중앙 집중식 규칙 집합을 유지 관리할 수 있습니다.
### 기본 `PackageType`에서의 `Versions`
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 사안](https://gitlab.com/gitlab-org/gitlab/-/issues/327453)을 확인하세요.
[패키지 레지스트리 GraphQL API](https://gitlab.com/groups/gitlab-org/-/epics/6318)를 생성하기 위한 작업의 일환으로, 패키지 그룹에서 기본 `PackageType` 타입을 위해 `Version` 타입을 사용하지 않도록 하고 [`PackageDetailsType`](https://docs.gitlab.com/ee/api/graphql/reference/index.html#packagedetailstype)로 이동했습니다. 마일스톤 15.0에서는 `PackageType`에서 `Version`을 완전히 제거할 것입니다.
### `artifacts:reports:cobertura` 키워드
- GitLab 14.7에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 사안](https://gitlab.com/gitlab-org/gitlab/-/issues/348980)을 확인하세요.
현재 GitLab에서는 테스트 커버리지 시각화가 Cobertura 보고서만 지원합니다. 15.0부터 `artifacts:reports:cobertura` 키워드는 [`artifacts:reports:coverage_report`](https://gitlab.com/gitlab-org/gitlab/-/issues/344533)로 대체될 것입니다. Cobertura가 15.0에서 유일하게 지원되는 보고서 파일이 될 것이지만, 이는 GitLab이 다른 보고서 유형을 지원하기 위한 첫 번째 단계입니다.
### `defaultMergeCommitMessageWithDescription` GraphQL API 필드
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 사안](https://gitlab.com/gitlab-org/gitlab/-/issues/345451)을 확인하세요.
GraphQL API 필드 `defaultMergeCommitMessageWithDescription`가 더 이상 사용되지 않으며 GitLab 15.0에서 제거될 예정입니다. 커밋 메시지 템플릿이 설정된 프로젝트의 경우, 이는 템플릿을 무시할 것입니다.
### `dependency_proxy_for_private_groups` 피처 플래그
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [제거 사안](https://gitlab.com/gitlab-org/gitlab/-/issues/276777)을 확인하세요.
우리는 [GitLab-#11582](https://gitlab.com/gitlab-org/gitlab/-/issues/11582)으로 인해 공개 그룹이 의존성 프록시를 사용하는 방식을 변경했기 때문에 피처 플래그를 추가했습니다. 이 변경 사항 이전에는 인증 없이 의존성 프록시를 사용할 수 있었습니다. 이제 의존성 프록시 사용에 대해 인증이 필요합니다. 마일스톤 15.0에서는 이 피처 플래그를 완전히 제거할 것입니다. 앞으로 의존성 프록시를 사용할 때는 반드시 인증해야 합니다.
### `version` 필드에서 `pipelines` 필드
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/342882)를 참조하세요.
GraphQL에서는 `PackageDetailsType`에서 사용할 수 있는 두 가지 `pipelines` 필드가 있습니다. 1. `versions` 필드의 `pipelines` 필드. 이 필드는 패키지 버전과 관련된 모든 파이프라인을 반환하며, 무제한 수의 객체를 메모리에 끌어들이고 성능 문제를 유발할 수 있습니다. 2. 특정 `version`의 `pipelines` 필드. 이 필드는 해당 단일 패키지 버전과 관련된 파이프라인만 반환합니다. 가능한 성능 문제를 완화하기 위해, 우리는 마일스톤 15.0에서 `versions` 필드의 `pipelines` 필드를 제거할 것입니다. 패키지의 모든 버전에 대한 모든 파이프라인을 더 이상 얻을 수는 없겠지만, 해당 버전의 파이프라인은 남아 있는 `pipelines` 필드를 통해 여전히 얻을 수 있습니다.
### `PipelineSecurityReportFinding` GraphQL의 `projectFingerprint` 필드
- GitLab 14.8에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
[PipelineSecurityReportFinding](https://docs.gitlab.com/ee/api/graphql/reference/index.html#pipelinesecurityreportfinding) GraphQL 객체의 `projectFingerprint` 필드가 사용 중단됩니다. 이 필드에는 고유성을 결정하는 데 사용되는 보안 결과의 "지문"이 포함되어 있습니다. 지문을 계산하는 방법이 변경되어 다른 값이 생성됩니다. 앞으로는 새 값을 UUID 필드에 노출시킬 것입니다. 이전에 `projectFingerprint` 필드에서 사용 가능했던 데이터는 최종적으로 완전히 제거될 것입니다.
### `gitlab-ctl`의 `promote-db` 명령
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/345207)를 참조하세요.
GitLab 14.5에서 장애 조치(failover) 중에 모든 Geo 보조 노드를 기본 노드로 승격하는 명령 `gitlab-ctl promote`를 도입했습니다. 이 명령은 다중 노드 Geo 보조 사이트에서 데이터베이스 노드를 승격하는 데 사용되던 `gitlab-ctl promote-db`를 대체합니다. `gitlab-ctl promote-db`는 현재 상태 그대로 작동하여 GitLab 15.0까지 이용할 수 있을 것입니다. Geo 고객들은 신규 명령을 스테이징 환경에서 테스트하고 장애 조치 절차에 새 명령을 통합하기 시작하는 것을 권장합니다.
### `gitlab-ctl`의 `promote-to-primary-node` 명령
- GitLab 14.5에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/345207)를 참조하세요.
GitLab 14.5에서 장애 조치(failover) 중에 모든 Geo 보조 노드를 기본 노드로 승급하는 명령 `gitlab-ctl promote`를 도입했습니다. 이 명령은 단일 노드 Geo 사이트에서만 사용할 수 있던 `gitlab-ctl promote-to-primary-node`를 대체합니다. `gitlab-ctl promote-to-primary-node`는 현재 상태 그대로 작동하여 GitLab 15.0까지 이용할 수 있을 것입니다. Geo 고객들은 신규 명령을 스테이징 환경에서 테스트하고 장애 조치 절차에 새 명령을 통합하기 시작하는 것을 권장합니다.
### CI/CD 구성에서 `type` 및 `types` 키워드
- GitLab 14.6에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
`type` 및 `types` CI/CD 키워드는 GitLab 15.0에서 제거될 예정입니다. 이 키워드를 사용하는 파이프라인은 작동을 멈출 것이기 때문에, 동일한 동작을 하는 `stage`와 `stages`로 전환해야 합니다.
### `apiFuzzingCiConfigurationCreate` GraphQL 뮤테이션
- GitLab 14.6에서 발표됨 - GitLab 15.0에서 제거 예정 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 논의하거나 자세한 내용을 알아보려면 [제거 예정 이슈](https://gitlab.com/gitlab-org/gitlab/-/issues/333233)를 참조하세요.
API Fuzzing 구성 스니펫은 이제 클라이언트 측에서 생성되어 더 이상 API 요청이 필요하지 않습니다. 따라서 GitLab에서 사용되지 않는 `apiFuzzingCiConfigurationCreate` 뮤테이션을 사용 중지하기로 했습니다.
### bundler-audit 의존성 스캐닝 도구
- GitLab 14.6에서 공지됨 - GitLab 15.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐지 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/289832)를 참조하세요.
14.6 버전부터 bundler-audit가 의존성 스캐닝에서 사용되지 않게 되었습니다. 폐지될 동안 CI/CD 템플릿에 계속 포함될 것입니다. 2022년 5월 22일에 15.0에서 의존성 스캐닝에서 bundler-audit를 제거할 예정입니다. 이 제거 이후에도 Ruby 스캐닝 기능은 Gemnasium에 의해 계속 지원될 것입니다. DS_EXCLUDED_ANALYZERS를 사용하여 bundler-audit를 명시적으로 제외했으면 15.0에서 정리(참조 제거)해야 합니다. bundler-audit를 참조하는 CI/CD 파이프라인의 의존성 스캐닝 구성을 사용자 정의한 경우(예: 'bundler-audit-dependency_scanning' 작업 편집) 15.0에서 제거되기 전에 파이프라인이 실패하지 않도록 15.0 이전에 gemnasium-dependency_scanning으로 전환해야 합니다. bundler-audit를 참조하기 위해 DS_EXCLUDED_ANALYZERS를 사용하거나 특별히 bundler-audit에 맞게 템플릿을 사용자 정의하지 않았다면 조치를 취할 필요가 없습니다. </div>
### 컨테이너 레지스트리용 htpasswd 인증
- GitLab 14.9에서 공지됨 - GitLab 15.0에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
컨테이너 레지스트리는 `htpasswd`를 사용한 [인증](https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/configuration.md#auth)을 지원합니다. 이는 `bcrypt`를 사용하여 해싱된 Apache `htpasswd` 파일에 의존합니다. GitLab (제품)의 맥락에서 사용되지 않기 때문에 `htpasswd` 인증은 GitLab 14.9에서 폐지될 예정이며 GitLab 15.0에서 제거될 예정입니다.
</div>
## GitLab 14.10
### 다운로드 Composer 의존성을 위한 권한 변경
- GitLab 14.9에서 공지됨 - GitLab 14.10에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#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에서 제거됨 - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐지 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/352612)를 참조하세요.
`per_repository` Gitaly 선거 전략 구성은 [폐지됨](https://gitlab.com/gitlab-org/gitlab/-/issues/352612)되었습니다. GitLab 14.0 이후로 `per_repository`가 유일한 옵션이었습니다. 이 변경은 코드베이스를 청소하여 깨끗이 유지하기 위한 정기적인 유지보수의 일환입니다.
### 기본으로 비활성화된 통합 오류 추적
- GitLab 14.9에서 공지됨 - GitLab 14.9에서 제거됨 ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change)) - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐지 문제](https://gitlab.com/gitlab-org/gitlab/-/issues/353639)를 참조하세요.
GitLab 14.4에서 GitLab은 Sentry를 대체하는 통합 오류 추적 백엔드를 릴리스했습니다. 이 기능은 데이터베이스 성능 문제를 유발했습니다. GitLab 14.9에서 통합 오류 추적이 GitLab.com에서 제거되었으며 GitLab Self-managed에서는 기본으로 비활성화되었습니다. 이 기능의 미래 개발을 탐구하는 동안, 프로젝트 설정에서 [오류 추적을 Sentry로 변경](https://docs.gitlab.com/ee/operations/error_tracking.html#sentry-error-tracking)하는 것을 고려해주세요. 이 제거에 대한 추가 배경 정보는 [기본으로 통합 오류 추적 비활성화](https://gitlab.com/groups/gitlab-org/-/epics/7580)를 참조하세요. 피드백이 있으면 [통합 오류 추적 제거 피드백](https://gitlab.com/gitlab-org/gitlab/-/issues/355493)에 코멘트를 추가해주세요.
## GitLab 14.8
### openSUSE Leap 15.2 패키지
- GitLab 14.5에서 공지됨 - GitLab 14.8에서 제거됨 - 이 변경 사항에 대해 토론하거나 자세히 알아보려면 [폐지 문제](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/6427)를 참조하세요.
openSUSE Leap 15.2에 대한 배포 지원 및 보안 업데이트가 [2021년 12월에 종료](https://en.opensuse.org/Lifetime#openSUSE_Leap)되었습니다. 14.5부터 openSUSE Leap 15.3용 패키지를 제공하고, 14.8 이후부터 openSUSE Leap 15.2용 패키지 제공을 중단할 예정입니다.
## GitLab 14.6
### 릴리스 CLI를 일반 패키지로 배포
- GitLab 14.2에서 발표됨 - GitLab 14.6에서 제거됨
[릴리스 CLI](https://gitlab.com/gitlab-org/release-cli)는 GitLab 14.2부터 [일반 패키지](https://gitlab.com/gitlab-org/release-cli/-/packages)로 릴리스될 예정입니다. 우리는 GitLab 14.5까지는 이를 S3에 이진 파일로 배포할 것이며, GitLab 14.6에서 S3에서의 배포를 중단할 것입니다.
## GitLab 14.5
### 작업 실행기 파드 이름을 Toolbox로 변경
- GitLab 14.2에서 발표됨 - GitLab 14.5에서 제거됨
작업 실행기 파드는 GitLab 애플리케이션 내에서 주기적인 housekeeping 작업을 수행하는 데 사용되며, 종종 GitLab Runner와 혼동됩니다. 따라서 [작업 실행기는 Toolbox로 이름이 변경](https://gitlab.com/groups/gitlab-org/charts/-/epics/25)될 예정입니다. 이로 인해 sub-chart인 `gitlab/task-runner`가 `gitlab/toolbox`로 이름이 변경될 것입니다. 결과적으로 파드는 `{{ .Release.Name }}-toolbox`와 같은 형식으로 명명될 것이며, 이는 자주 `gitlab-toolbox`가 될 것입니다. 이러한 파드들은 `app=toolbox` 라벨로 찾을 수 있습니다.
DISCLAIMER: This page contains information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. As with all projects, the items mentioned on this page are subject to change or delay. The development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
스키마_이름>