- 보호된 태그를 수정할 수 있는 사용자
- 보호된 태그 구성하기
- 와일드카드 보호된 태그
- 브랜치와 동일한 이름의 태그 생성 방지
- 배포 키가 보호된 태그를 생성할 수 있도록 허용하기
- 보호된 태그 삭제하기
- 관련 주제
보호된 태그
보호된 태그:
- 태그를 만들 권한을 가진 사용자를 제어할 수 있습니다.
- 한 번 생성된 후 실수로 업데이트하거나 삭제하는 것을 방지할 수 있습니다.
각 규칙은 다음 중 하나와 일치시킬 수 있습니다:
- 개별 태그 이름.
- 여러 태그를 한꺼번에 제어하기 위한 와일드카드.
이 기능은 보호된 브랜치로부터 진화했습니다.
보호된 태그를 수정할 수 있는 사용자
기본적으로:
- 태그를 만들려면 Maintainer 역할이 있어야 합니다.
- 누구도 태그를 업데이트하거나 삭제할 수 없습니다.
보호된 태그 구성하기
전제 조건:
- 프로젝트에 대해 적어도 Maintainer 역할이 있어야 합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 리포지터리를 선택합니다.
- 보호된 태그를 확장합니다.
- 새로 추가를 선택합니다.
- 단일 태그를 보호하려면 태그를 선택한 후 드롭다운 디렉터리에서 태그를 선택합니다.
- 문자열과 일치하는 이름을 가진 모든 태그를 보호하려면:
- 태그를 선택합니다.
- 태그 일치에 사용할 문자열을 입력합니다. 와일드카드(
*
)를 지원합니다. - 와일드카드 생성을 선택합니다.
-
생성 허용: 보호된 태그를 만들 수 있는 역할을 선택합니다.
GitLab Premium 및 Ultimate에서는 생성 허용에 그룹 또는 개별 사용자를 추가할 수도 있습니다. - 보호를 선택합니다.
보호된 태그(또는 와일드카드)가 보호된 태그 디렉터리에 표시됩니다.
와일드카드 보호된 태그
와일드카드 보호된 태그를 지정할 수 있습니다. 이것은 와일드카드와 일치하는 모든 태그를 보호합니다. 예를 들어:
와일드카드 보호된 태그 | 일치하는 태그 |
---|---|
v*
|
v1.0.0 , version-9.1
|
*-deploy
|
march-deploy , 1.0-deploy
|
*gitlab*
|
gitlab , gitlab/v1
|
*
|
v1.0.1rc2 , accidental-tag
|
두 가지 다른 와일드카드가 동일한 태그와 일치할 수 있습니다. 예를 들어, *-stable
과 production-*
은 둘 다 production-stable
태그와 일치합니다. 이 경우, 생성 허용과 같은 설정을 가진 보호된 태그 중 어떤 하나라도 설정이 있다면, production-stable
도 이 설정을 상속받게 됩니다.
보호된 태그의 이름을 선택하면 GitLab이 모든 일치하는 태그의 디렉터리을 표시합니다:
브랜치와 동일한 이름의 태그 생성 방지
동일한 이름을 가진 태그와 브랜치는 다른 커밋을 포함할 수 있습니다. 태그와 브랜치가 동일한 이름을 사용하는 경우, 사용자가 git checkout
명령을 실행할 때 태그 qa
대신 브랜치 qa
를 체크아웃할 수 있습니다. 추가적인 보안 조치로, 브랜치와 동일한 이름을 가진 태그를 생성하지 않도록 주의하시기 바랍니다. 두 가지를 혼동할 경우 잠재적인 보안 또는 운영 문제가 발생할 수 있습니다.
이 문제를 방지하려면:
- 사용하고 싶지 않은 브랜치 이름을 식별합니다.
-
보호된 태그 구성하기에서 설명한대로 보호된 태그를 만듭니다:
-
이름에
stable
과 같은 이름 또는stable-v1
및stable-v2
와 같은 여러 이름과 일치하는 와일드카드를 제공합니다. - 생성 허용에 누구도를 선택합니다.
- 보호를 선택합니다.
-
이름에
사용자는 여전히 브랜치를 만들 수 있지만, 보호된 이름을 가진 태그를 생성할 수는 없습니다.
배포 키가 보호된 태그를 생성할 수 있도록 허용하기
배포 키의 소유자가 보호된 태그를 생성할 수 있도록 허용할 수 있습니다. 배포 키의 소유자는 관련 프로젝트의 멤버가 아니더라도 작동합니다. 그러나 배포 키의 소유자는 프로젝트에 대해 적어도 읽기 권한이 있어야 합니다.
전제 조건:
- 프로젝트에 대해 배포 키가 활성화되어 있어야 합니다. 프로젝트 배포 키는 만들 때 기본적으로 활성화됩니다. 그러나 공개 배포 키는 프로젝트에 대한 액세스 권한을 부여해야 합니다.
- 배포 키는 프로젝트 리포지터리에 쓰기 권한이 있어야 합니다.
배포 키가 보호된 태그를 만들 수 있도록 허용하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 리포지터리를 선택합니다.
- 보호된 태그를 확장합니다.
- 태그 드롭다운 디렉터리에서 보호하려는 태그를 선택합니다.
- 생성 허용 디렉터리에서 배포 키를 선택합니다.
- 보호를 선택합니다.
보호된 태그 삭제하기
보호된 태그는 GitLab API 또는 GitLab 사용자 인터페이스로 매뉴얼으로 삭제할 수 있습니다.
전제 조건:
- 프로젝트에 대해 적어도 Maintainer 역할이 있어야 합니다.
수행 방법:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > 태그를 선택합니다.
- 삭제하려는 태그 옆에 삭제()를 선택합니다.
- 확인 대화상자에서 태그 이름을 입력하고 예, 보호된 태그 삭제를 선택합니다.
보호된 태그는 로컬 Git 명령 또는 타사 Git 클라이언트를 통해 실수로 삭제하는 것을 방지하기 위해 GitLab에서만 삭제할 수 있습니다.