보호된 패키지

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed Status: Experiment
  • GitLab 16.5에 플래그 packages_protected_packages라는 플래그로 도입되었으며 기본으로 비활성화되어 있습니다. 이 기능은 실험적인 기능입니다.
  • Access level 이상으로 보호된 푸시 설정은 GitLab 17.1에서 푸시의 최소 접근 수준으로 변경되었습니다.

플래그: 이 기능의 사용 가능 여부는 기능 플래그에 의해 제어됩니다. 자세한 정보는 히스토리를 참조하십시오. 이 기능은 테스트용으로 사용할 수 있지만, 프로덕션 환경에서 사용할 준비가 되지는 않았습니다.

기본적으로 적어도 개발자 역할을 가진 사용자는 패키지를 생성, 편집 및 삭제할 수 있습니다. 패키지 보호 규칙을 추가하여 패키지를 변경할 수 있는 사용자를 제한할 수 있습니다.

패키지가 보호되면 기본 동작은 패키지에 대해 다음과 같은 제한을 강제합니다:

작업 수행 가능한 사용자
패키지 보호 적어도 Maintainer 역할 이상.
새 패키지 푸시 프로젝트 보호 - 푸시의 최소 접근 수준로 설정된 역할 이상.
배포 토큰으로 새 패키지 푸시 유효한 배포 토큰을 소유한 사용자는, 패키지에 보호 규칙이 적용되지 않는 경우에만 가능합니다. 보호된 패키지는 배포 토큰으로 푸시할 수 없습니다.

패키지 보호

전제 조건:

  • 적어도 Maintainer 역할을 가지고 있어야 합니다.

패키지를 보호하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 패키지 및 레지스트리를 선택합니다.
  3. 보호된 패키지 아래에서 보호 규칙 추가를 선택합니다.
  4. 다음을 입력하십시오:
    • 이름 패턴은 보호하려는 패키지 이름 패턴입니다. 패턴에 와일드카드(*)를 포함할 수 있습니다.
    • 패키지 유형은 보호할 패키지의 유형입니다.
    • 푸시의 최소 접근 수준은 패키지를 푸시하려면 필요한 최소 역할입니다.
  5. **보호 ** 를 선택합니다.

패키지 보호 규칙이 생성되고 설정에 표시됩니다.

다중 패키지 보호

와일드카드를 사용하여 동일한 패키지 보호 규칙으로 여러 패키지를 보호할 수 있습니다. 예를 들어 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. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 패키지 및 레지스트리를 선택합니다.
  3. 보호된 패키지 아래에서 삭제하려는 보호 규칙 옆에 삭제를 선택합니다 ().
  4. 확인 대화상자에서 삭제를 선택합니다.

패키지 보호 규칙이 삭제되어 설정에 표시되지 않습니다.