보호된 패키지

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed
Status: Experiment
History
  • Introduced in GitLab 16.5 with a flag named packages_protected_packages. Disabled by default. This feature is an experiment.
  • Push protected up to access level setting changed to Minimum access level for push in GitLab 17.1.

이 기능의 사용 가능성은 기능 플래그에 의해 제어됩니다.
자세한 내용은 이력을 참조하세요.
이 기능은 테스트용으로 사용 가능하지만, 생산용으로는 준비되지 않았습니다.

기본적으로, 최소한 Developer 역할을 가진 사용자는 패키지를 생성, 편집 및 삭제할 수 있습니다.
패키지에 대한 변경을 허용할 사용자를 제한하기 위해 패키지 보호 규칙을 추가하세요.

패키지가 보호되면, 기본 동작은 패키지에 대한 이러한 제한을 적용합니다:

작업 수행할 수 있는 사람
패키지를 보호하세요 최소한 Maintainer 역할.
새 패키지를 푸시하세요 Minimum access level for push에서 설정된 최소 역할.
배포 토큰으로 새 패키지를 푸시하세요 유효한 배포 토큰으로, 단지 푸시된 패키지가 보호 규칙과 일치하지 않을 경우에만. 보호된 패키지는 배포 토큰으로 푸시할 수 없습니다.

패키지 보호하기

History

필수 조건:

  • 최소한 Maintainer 역할이 필요합니다.

패키지를 보호하려면:

  1. 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. Settings > Packages and registries를 선택합니다.
  3. Protected packages에서 Add protection rule를 선택합니다.
  4. 필드를 작성합니다:
    • Name pattern은 보호하려는 패키지 이름 패턴입니다. 패턴은 와일드카드(*)를 포함할 수 있습니다.
    • Package type은 보호할 패키지의 유형입니다.
    • Minimum access level for push는 이름 패턴과 일치하는 패키지를 푸시하기 위해 필요한 최소 역할입니다.
  5. Protect를 선택합니다.

패키지 보호 규칙이 생성되며, 설정에 나타납니다.

여러 패키지 보호하기

와일드카드를 사용하여 동일한 패키지 보호 규칙으로 여러 패키지를 보호할 수 있습니다.
예를 들어, CI/CD 파이프라인 동안 생성된 모든 임시 패키지를 보호할 수 있습니다.

다음 표에는 여러 패키지와 일치하는 패키지 보호 규칙의 예가 포함되어 있습니다:

와일드카드가 있는 패키지 이름 패턴 일치하는 패키지
@group/package-* @group/package-prod, @group/package-prod-sha123456789
@group/*package @group/package, @group/prod-package, @group/prod-sha123456789-package
@group/*package* @group/package, @group/prod-sha123456789-package-v1

동일한 패키지에 여러 보호 규칙을 적용할 수 있습니다.
하나 이상의 보호 규칙이 패키지에 적용되면, 패키지는 보호됩니다.

패키지 보호 규칙 삭제 및 패키지 보호 해제

사전 요구 사항:

  • 최소한 Maintainer 역할이 있어야 합니다.

패키지 보호를 해제하려면:

  1. 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. Settings > Packages and registries를 선택합니다.
  3. Protected packages 아래에서 삭제하려는 보호 규칙 옆에 있는 Delete ( )를 선택합니다.
  4. 확인 대화 상자에서 Delete를 선택합니다.

패키지 보호 규칙이 삭제되며, 설정에서 나타나지 않습니다.