보호된 패키지
- GitLab 16.5에 플래그
packages_protected_packages
라는 플래그로 도입되었으며 기본으로 비활성화되어 있습니다. 이 기능은 실험적인 기능입니다.- Access level 이상으로 보호된 푸시 설정은 GitLab 17.1에서 푸시의 최소 접근 수준으로 변경되었습니다.
플래그: 이 기능의 사용 가능 여부는 기능 플래그에 의해 제어됩니다. 자세한 정보는 히스토리를 참조하십시오. 이 기능은 테스트용으로 사용할 수 있지만, 프로덕션 환경에서 사용할 준비가 되지는 않았습니다.
기본적으로 적어도 개발자 역할을 가진 사용자는 패키지를 생성, 편집 및 삭제할 수 있습니다. 패키지 보호 규칙을 추가하여 패키지를 변경할 수 있는 사용자를 제한할 수 있습니다.
패키지가 보호되면 기본 동작은 패키지에 대해 다음과 같은 제한을 강제합니다:
작업 | 수행 가능한 사용자 |
---|---|
패키지 보호 | 적어도 Maintainer 역할 이상. |
새 패키지 푸시 | 프로젝트 보호 - 푸시의 최소 접근 수준로 설정된 역할 이상. |
배포 토큰으로 새 패키지 푸시 | 유효한 배포 토큰을 소유한 사용자는, 패키지에 보호 규칙이 적용되지 않는 경우에만 가능합니다. 보호된 패키지는 배포 토큰으로 푸시할 수 없습니다. |
패키지 보호
- GitLab 16.9에 도입되었습니다.
전제 조건:
- 적어도 Maintainer 역할을 가지고 있어야 합니다.
패키지를 보호하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 패키지 및 레지스트리를 선택합니다.
- 보호된 패키지 아래에서 보호 규칙 추가를 선택합니다.
- 다음을 입력하십시오:
-
이름 패턴은 보호하려는 패키지 이름 패턴입니다. 패턴에 와일드카드(
*
)를 포함할 수 있습니다. - 패키지 유형은 보호할 패키지의 유형입니다.
- 푸시의 최소 접근 수준은 패키지를 푸시하려면 필요한 최소 역할입니다.
-
이름 패턴은 보호하려는 패키지 이름 패턴입니다. 패턴에 와일드카드(
- **보호 ** 를 선택합니다.
패키지 보호 규칙이 생성되고 설정에 표시됩니다.
다중 패키지 보호
와일드카드를 사용하여 동일한 패키지 보호 규칙으로 여러 패키지를 보호할 수 있습니다. 예를 들어 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
|
동일한 패키지에 여러 보호 규칙을 적용할 수 있습니다. 하나 이상의 보호 규칙이 패키지에 적용되면 해당 패키지는 보호됩니다.
패키지 보호 규칙 삭제 및 패키지 보호 해제
- GitLab 16.10에 도입되었습니다.
전제 조건:
- 적어도 Maintainer 역할을 가지고 있어야 합니다.
패키지를 보호 해제하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 패키지 및 레지스트리를 선택합니다.
- 보호된 패키지 아래에서 삭제하려는 보호 규칙 옆에 삭제를 선택합니다 ().
- 확인 대화상자에서 삭제를 선택합니다.
패키지 보호 규칙이 삭제되어 설정에 표시되지 않습니다.