- 시작하기 전에
- 조직의 부모 그룹과 하위 그룹 만들기
- 조직 하위 그룹 만들기
- 조직의 사용자 생성
- 그룹 및 하위 그룹에 사용자 추가
- 그룹 및 하위 그룹에서 사용자 제거하기
- 하위 그룹에 사용자 추가하기
- 사용자 경험 하위 그룹에 사용자 추가
- 프로젝트 생성
- 프로젝트 및 부모 그룹에 사용자 추가
튜토리얼: 조직 설정하기
GitLab에서 귀사의 GitLab 조직을 설정하고 관리하는 방법은 다음과 같습니다:
- 그룹, 하위 그룹 및 프로젝트 만들기.
- 그룹 및 프로젝트에서 그룹 구성원에게 다양한 역할을 할당하기.
이 튜토리얼에서는 소규모 소프트웨어 회사의 IT 관리자가 됩니다. 이 회사는 GitLab을 사용하며 마케팅, 영업 및 개발 부서로 나누어져 있습니다.
마케팅 및 영업 조직은 이미 설정되어 있습니다. 이 튜토리얼에서는 소프트웨어 개발 조직을 설정합니다. 이 조직의 상근 직원 구성원은 다음과 같습니다:
- IT 관리자 1명: 당신.
- 제품 관리자 1명: Alex Smith.
- 엔지니어링 관리자 1명: Blake Wang.
- 소프트웨어 개발자 3명: Charlie Devi, Devon Ivanov, Evan Kim.
- UX 디자이너 1명: Frankie Ali.
- 기술 작가 1명: Grayson Garcia.
조직에는 계약직 콘텐츠 전략가인 Hunter Silva도 있습니다.
다음과 같은 작업을 수행할 것입니다:
-
소프트웨어 개발 조직.
-
작업 관리를 위한 그룹, 하위 그룹 및 프로젝트.
-
그룹 및 프로젝트에 추가할 사용자와 해당 사용자에게 역할 할당.
-
특정 작업을 위한 조직 내 프로젝트 생성 및 해당 프로젝트에 사용자 추가.
시작하기 전에
- 귀하의 self-managed GitLab 인스턴스에 관리자로 접근할 수 있는지 확인하세요.
조직의 부모 그룹과 하위 그룹 만들기
먼저, 소프트웨어 개발 조직 전체의 부모 그룹으로 기능할 Development 그룹을 생성합니다.
-
귀하의 self-managed GitLab 인스턴스를 엽니다.
-
왼쪽 사이드바에서 상단의 Create new () 및 New group을 선택합니다.
-
Create group을 선택합니다.
-
Group name에
Development
을 입력합니다. -
Group URL에
development-group
을 입력합니다. “Group path is available”라는 메시지가 표시됩니다. 그룹 URL은 네임스페이스에 사용됩니다. -
가시성 수준을 Private으로 설정합니다. 이는 이 그룹의 모든 하위 그룹도 비공개여야 함을 의미합니다.
- 다음 질문에 답하여 GitLab 경험을 개인화합니다:
- Role에서 Development Team Lead를 선택합니다. 이 역할은 구성원의 권한에 영향을 주는 역할과 다릅니다.
- Who will be using this group?에서 My company or team을 선택합니다.
- What will you use this group for?에서 I want to store my code를 선택합니다.
-
아직 GitLab 구성원이나 다른 사용자를 그룹에 초대하지 마세요.
- Create group을 선택합니다.
GitLab에서 네임스페이스는 관련 프로젝트를 구성할 수 있는 공간을 제공합니다.
귀하의 조직을 위한 부모 그룹이 생성되었습니다. 다음으로 하위 그룹을 생성합니다.
조직 하위 그룹 만들기
이번 튜토리얼에서는 Development가 다음의 작업 영역으로 구성되었다고 가정합니다:
- 제품 관리.
- 엔지니어링.
- 사용자 경험.
- UX 디자인.
- 기술 작문.
이제 이 조직 구조를 반영하도록 하위 그룹을 생성합니다.
하위 그룹 및 프로젝트는 부모 그룹의 가시성 설정과 최소한 동일하게 제한적이어야 합니다. 예를 들어, 비공식 부모 그룹과 공개 하위 그룹을 가질 수 없습니다.
-
왼쪽 사이드바에서 Search or go to를 선택합니다.
-
View all my groups를 선택합니다.
-
Development를 선택합니다. 그룹 이름 옆에 Owner 레이블이 표시되어야 합니다. 당신은 Owner 역할을 가지고 있습니다.
-
부모 그룹의 개요 페이지에서 오른쪽 상단 모서리에 있는 New subgroup을 선택합니다.
-
Subgroup name에
Product Management
를 입력합니다. -
Subgroup slug는 자동으로 product-management로 완료됩니다. 이 필드는 변경하지 마세요.
-
Visibility level에서 부모 그룹인 Development도 비공개이므로 Private만 선택할 수 있습니다.
-
Create subgroup을 선택합니다.
-
다음 하위 그룹에 대해 반복합니다:
-
Engineering
. -
User Experience
.-
UX Design
. -
Technical Writing
.
-
-
UX Design 및 Technical Writing는 사용자 경험 하위 그룹에 중첩된 하위 그룹입니다.
이제 조직의 하위 그룹을 생성했습니다. 다음으로 조직의 사용자를 생성합니다.
조직의 사용자 생성
이제 조직의 사용자를 수동으로 생성합니다. 이들은 테스트 사용자입니다. 첫 번째 테스트 사용자 Alex Smith를 생성하려면:
-
왼쪽 사이드바에서 하단의 Admin을 선택합니다.
-
개요 > 사용자를 선택합니다.
-
새 사용자를 선택합니다.
- 필수 필드를 완료합니다:
-
이름:
Alex Smith
-
사용자 이름:
alexsmith
-
이메일:
alexsmith@example.com
- 나머지 필드는 그대로 둡니다.
-
이름:
- 사용자 생성을 선택합니다.
실제 사용자에게는 비밀번호 재설정 링크가 사용자의 이메일로 전송되며, 해당 사용자는 처음 로그인할 때 비밀번호를 설정해야 합니다. 하지만 이 사용자는 가짜 이메일을 가진 테스트 사용자이므로 이메일 확인 없이 사용자의 비밀번호를 설정해야 합니다.
테스트 사용자의 비밀번호 설정
-
사용자를 선택합니다.
-
편집을 선택합니다.
-
비밀번호 및 비밀번호 확인 필드를 완료합니다.
-
변경 사항 저장을 선택합니다.
첫 번째 테스트 사용자를 생성했습니다. 이제 나머지 사용자에 대해서도 이 과정을 반복하세요:
이름 | 사용자 이름 | 이메일 |
---|---|---|
Blake Wang |
blakewang |
blakewang@example.com |
Charlie Devi |
charliedevi |
charliedevi@example.com |
Devon Ivanov |
devonivanov |
devonivanov@example.com |
Evan Kim |
evankim |
evankim@example.com |
Frankie Ali |
frankieali |
frankieali@example.com |
Grayson Garcia |
graysongarcia |
graysongarcia@example.com |
Hunter Silva |
huntersilva |
huntersilva@example.com |
조직의 사용자를 생성했습니다. 다음으로 이러한 사용자를 다양한 그룹과 하위 그룹에 추가할 것입니다.
그룹 및 하위 그룹에 사용자 추가
그룹에 사용자를 추가하여 해당 그룹의 모든 프로젝트에 대한 액세스 권한을 부여할 수 있습니다.
먼저 모든 사용자를 부모 그룹인 Development에 추가합니다.
-
왼쪽 사이드바에서 검색하거나 이동을 선택하고 Development 그룹을 찾습니다.
-
관리 > 멤버를 선택합니다.
-
사용자 초대를 선택합니다.
- 제품 관리자 Alex Smith에 대한 필드를 완료합니다.
- Alex에게 소유자 역할을 부여합니다. 이 역할은 그룹의 모든 하위 그룹 프로젝트에 적용됩니다.
- 액세스 만료 날짜는 비워둡니다.
-
초대를 선택합니다.
-
다음 사용자에 대해 이 프로세스를 반복합니다:
사용자 역할 액세스 만료 날짜 Blake Wang 유지 관리 비워둡니다 Charlie Devi 개발자 비워둡니다 Devon Ivanov 개발자 비워둡니다 Evan Kim 개발자 비워둡니다 Frankie Ali 리포터 비워둡니다 Grayson Garcia 리포터 비워둡니다 Hunter Silva 손님 2025-12-31
같은 역할과 액세스 만료 날짜가 있을 경우 여러 사용자를 동시에 초대할 수 있습니다.
모든 것이 올바르게 설정되었는지 확인하기
Group Members 페이지에서 Development 그룹 및 모든 하위 그룹의 구성원을 확인합니다.
Source는 사용자의 이 그룹의 멤버십 원본입니다. 추가된 구성원은 직접 그룹에 추가된 직접 멤버입니다.
Max role은 추가된 구성원이 이 그룹에서 허용된 최고의 접근 수준입니다. 이 열에서 드롭다운 목록을 사용하여 이 그룹에서 추가된 구성원의 역할을 변경할 수 있습니다.
부모 그룹의 구성원으로 추가한 모든 사용자는 동일한 역할로 모든 하위 그룹의 구성원입니다.
멤버십 유형으로 하위를 필터링하기
하위 그룹을 필터링하여 해당 하위 그룹의 직접 멤버와 부모 그룹에서 하위 그룹의 멤버십을 상속받은 멤버를 볼 수 있습니다.
- 왼쪽 사이드바에서 Search or go to를 선택하고 Development 그룹을 찾습니다.
- User Experience 하위 그룹을 선택합니다.
- 왼쪽 사이드바에서 Subgroup information > Members를 선택합니다.
- Members 페이지에서 Filter members 필드를 선택합니다.
- Membership을 선택한 다음 Inherited를 선택하고 Return 키를 누릅니다.
이제 해당 하위 그룹의 멤버 중에서 상속받은 멤버만 볼 수 있습니다.
각 사용자가 조직 내 역할과 연결된 하위 그룹의 구성원만 되기를 원합니다. 그래서 그룹 및 하위 그룹에서 사용자를 제거하기로 결정했습니다.
그룹 및 하위 그룹에서 사용자 제거하기
하위 그룹의 구성원을 직접 제거할 수는 없습니다. 부모 그룹에서만 제거할 수 있습니다.
부모 그룹으로 돌아가서 Alex Smith를 제외한 모든 사람을 제거하세요:
- 왼쪽 사이드바에서 Search or go to를 선택하고 부모 그룹을 찾습니다.
- Manage > Members를 선택합니다.
- 제거할 구성원 행에서 수직 점 3개()를 선택한 다음 Remove member를 선택합니다.
- Remove member 확인 상자에서 Also remove direct user membership from subgroups and projects 체크박스를 선택합니다.
- Remove member를 선택합니다.
이제 부모 그룹과 하위 그룹에 한 명의 구성원만 있으며, 그 구성원은 Owner 역할을 가지고 있습니다.
다음으로 사용자를 하위 그룹에 직접 추가합니다.
하위 그룹에 사용자 추가하기
이제 다양한 하위 그룹에 직접 사용자를 추가합니다.
Product Management 하위 그룹에 사용자 추가하기
- 왼쪽 사이드바에서 Search or go to를 선택하고 Development 그룹을 찾습니다.
- Product Management 하위 그룹을 선택합니다.
- 왼쪽 사이드바에서 Subgroup information > Members를 선택합니다.
당신을 제외하면 Alex만 이 하위 그룹의 구성원이며, 직접 멤버이므로 올바릅니다. 하지만 당신은 그들이 Owner 역할 대신 Maintainer 역할을 가져야 한다고 생각합니다.
하위 그룹에서 사용자 역할 변경하기
구성원 페이지에서 직접 그들의 역할을 변경할 수 없습니다. 하위 그룹에서 그들의 역할을 변경하려면 Maintainer로 초대해야 합니다.
- Invite members를 선택합니다.
- 제품 관리자 Alex Smith에 대한 필드를 완료합니다.
- Alex에게 Maintainer 역할을 부여합니다.
- Access expiration date는 비워둡니다.
- Invite를 선택합니다.
다음 메시지가 표시됩니다:
다음 구성원을 초대할 수 없습니다
초대 오류를 검토하고 다시 시도하세요:
- Alex Smith: 접근 수준은 Development 그룹에서 상속된 김멤버십보다 크거나 같아야 합니다.
Alex에게 하위 그룹의 부모 그룹에서 그들의 역할보다 낮은 접근 수준의 하위 그룹 역할을 부여할 수 없습니다.
당신은 조직 내 역할을 고려할 때 Alex를 이 하위 그룹의 Owner로 유지하기로 결정합니다. 이 초대를 취소하려면 Cancel을 선택합니다.
Product Management 하위 그룹에는 올바른 구성원과 역할이 있습니다. 다음으로 사용자를 Engineering 하위 그룹에 추가합니다.
엔지니어링 하위 그룹에 사용자 추가
이제 엔지니어링 하위 그룹에 몇 명의 사용자를 초대할 것입니다.
- 왼쪽 사이드바에서 Search or go to를 선택하고 Development 그룹을 찾습니다.
- Engineering 하위 그룹을 선택합니다.
- 왼쪽 사이드바에서 Subgroup information > Members를 선택합니다. 현재 구성원은 당신과 Alex 뿐이며, 두 사람 모두 Owner 역할을 가지고 있습니다. 이는 상속된 역할입니다.
- Invite members를 선택합니다.
-
다음 구성원에 대한 필드를 작성합니다:
사용자 역할 접근 만료 날짜 Blake Wang Maintainer 비워 두십시오 Charlie Devi Developer 비워 두십시오 Devon Ivanov Developer 비워 두십시오 Evan Kim Developer 비워 두십시오 -
Invite를 선택합니다.
Blake Wang은 엔지니어링 관리자의 책임에 따라 이 하위 그룹에서 Maintainer 역할을 가지고 있습니다. 세 명의 개발자는 모두 Developer 역할을 보유하고 있습니다. 이는 직접적인 역할입니다.
- 이 하위 그룹의 구성원 페이지에서 그들의 역할을 직접 변경할 수 있습니다. Blake Wang을 이 하위 그룹의 Owner로 변경합니다.
- Development 그룹의 구성원 페이지로 돌아갑니다. 엔지니어링 하위 그룹의 구성원은 상위 그룹의 구성원이 아님을 알 수 있습니다.
사용자를 그들이 필요로 하는 그룹 및 하위 그룹에 직접 추가함으로써, 사용자가 불필요하게 그룹의 구성원이 되는 문제를 피할 수 있습니다. 다양한 그룹 및 프로젝트에 대한 접근을 보다 정밀하게 제어할 수 있습니다.
사용자 경험 하위 그룹에 사용자 추가
사용자 경험 하위 그룹에는 두 개의 추가 중첩 하위 그룹이 있습니다:
- UX Design.
- Technical Writing.
사용자 측면에서 UX Design에는 Frank Ali 및 Hunter Silva만 포함되어야 하며, Technical Writing에는 Grayson Garcia만 포함되어야 합니다.
세 사용자를 사용자 경험 하위 그룹에 추가하면 상속된 권한으로 인해 두 개의 중첩 하위 그룹에도 모두 포함됩니다.
따라서 이러한 사용자를 사용자 경험 하위 그룹이 아닌 적절한 중첩 하위 그룹에 직접 추가할 것입니다.
- 왼쪽 사이드바에서 Search or go to를 선택하고 Development 그룹을 찾습니다.
- User Experience 하위 그룹을 선택한 다음 UX Design 하위 그룹을 선택합니다.
- 왼쪽 사이드바에서 Subgroup information > Members를 선택합니다. 당신과 Alex Smith가 현재 유일한 구성원입니다. 이는 상속된 역할입니다.
- Invite members를 선택합니다.
-
다음 구성원에 대한 필드를 작성하고 Invite를 선택합니다:
사용자 역할 접근 만료 날짜 Frankie Ali Maintainer 비워 두십시오 Hunter Silva Guest 2025-12-31
-
Technical Writing 하위 그룹에 대해서도 반복합니다:
사용자 역할 접근 만료 날짜 Grayson Garcia Maintainer 비워 두십시오
적절한 중첩 하위 그룹에 사용자를 추가했습니다. Grayson Garcia를 User Experience 하위 그룹에도 추가하기로 결정했습니다.
다른 하위 그룹에 사용자 추가
Grayson을 User Experience 하위 그룹에 특정 역할로 추가하면서, Technical Writing 하위 그룹의 역할은 그대로 유지할 수 있습니다.
- User Experience 하위 그룹으로 이동합니다.
- 왼쪽 사이드바에서 Subgroup information > Members를 선택합니다. 당신과 Alex Smith가 현재 유일한 구성원입니다. 이는 상속된 역할입니다.
- Invite members를 선택합니다.
- Grayson Garcia를 Developer로 초대합니다. 이는 Technical Writing 하위 그룹의 Maintainer 역할보다 낮은 수준의 권한을 가진 역할입니다.
이는 Grayson Garcia가 사용자 경험 하위 그룹에서 불필요하게 높은 권한 수준을 가지지 않도록 합니다.
그러나 상속된 권한으로 인해, Grayson Garcia를 사용자 경험 하위 그룹에 추가하면 Bug Design 중첩 하위 그룹에도 Developer로 추가됩니다.
그룹 및 하위 그룹에 대한 상속된 권한에 주의하세요. 사용자를 최소한의 그룹 및 하위 그룹에 추가하여 실수로 불필요한 그룹에 사용자가 추가되는 가능성을 최소화하십시오.
- 사용자 경험 하위 그룹 구성원 페이지로 이동합니다.
- Frankie Ali 및 Hunter Silva를 Reporters로 추가합니다. Hunter에게 동일한 만료 날짜를 부여합니다.
- Technical Writing 중첩 하위 그룹으로 이동합니다.
Frankie Ali와 Hunter Silva는 이제 상속된 권한으로 인해 Technical Writing 하위 그룹의 구성원이 되었습니다.
그룹, 하위 그룹 및 구성원으로 조직을 성공적으로 설정했습니다.
다음에는 구성원이 작업할 수 있는 프로젝트를 그룹 중 하나에 생성할 것입니다.
프로젝트 생성
이제 조직의 특정 구성원들이 작업해야 할 작업이 있으며, 그 작업은 전체 조직을 위한 것이라고 가정해 보겠습니다. 그 작업을 조직하기 위해, 개발 부모 그룹에 프로젝트를 생성하고 해당 프로젝트에 다양한 사용자를 추가할 것입니다.
- 왼쪽 사이드바에서 Search or go to를 선택하고 Development 그룹을 찾습니다.
- Create new() 및 New project/repository를 선택합니다.
- Create blank project를 선택합니다.
- 프로젝트 세부정보를 입력합니다:
-
Project name 필드에 프로젝트 이름으로
Release 2.0
을 입력합니다. - Project slug 필드는 프로젝트 이름을 기반으로 하며 그대로 둡니다.
- 사용자에 대한 프로젝트의 보기 및 접근 권한을 수정하려면 Visibility Level을 변경할 수 있습니다. 부모 그룹이 비공개이므로 프로젝트 역시 Private일 수 있습니다.
- Git 저장소가 초기화되고 기본 브랜치를 가지며 복제 가능하도록
README
파일을 생성하려면 Initialize repository with a README 체크박스를 선택합니다. - 프로젝트의 소스 코드에서 알려진 보안 취약점을 분석하려면 Enable Static Application Security Testing (SAST) 체크박스를 선택합니다.
-
Project name 필드에 프로젝트 이름으로
- Create project를 선택합니다.
이제 부모 그룹에 프로젝트가 생성되었습니다.
이 프로젝트에서 Manage > Members로 이동합니다.
부모 그룹의 기존 구성원(당신과 Alex)은 이 프로젝트의 구성원입니다. 프로젝트가 그룹에 속할 때 프로젝트 구성원은 그룹에서 역할을 상속받습니다.
이 프로젝트에 참여해야 할 다른 사용자들이 있습니다. 이제 사용자를 프로젝트에 직접 추가하겠습니다.
프로젝트 및 부모 그룹에 사용자 추가
- 왼쪽 사이드바에서 Search or go to를 선택하고 Release 2.0 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Manage > Members를 선택합니다.
-
Invite members를 선택합니다. 다음 사용자들을 초대합니다:
User Role Access expiration date Charlie Devi Maintainer Leave blank Frankie Ali Maintainer Leave blank Grayson Garcia Maintainer Leave blank - Invite를 선택합니다.
- 이 사용자를 프로젝트에 직접 추가했기 때문에 필요할 경우 프로젝트 구성원 페이지에서 그들의 역할을 변경할 수 있습니다. Grayson Garcia의 역할을 Developer로 변경하여 이를 테스트합니다.
- Development 부모 그룹의 구성원 페이지로 이동합니다. 방금 프로젝트에 추가한 사용자는 부모 그룹에 있지 않습니다.
- 같은 사용자를 Guest 역할로 부모 그룹에 직접 추가합니다. 이 페이지에서 그들의 역할을 직접 변경할 수 있습니다. Frankie의 역할을 Reporter로 변경합니다.
- 다시 Release 2.0 프로젝트 구성원 페이지로 돌아갑니다. 구성원의 프로젝트 역할은 여전히 2명의 Maintainer와 1명의 Developer입니다.
부모 그룹의 프로젝트에 하위 그룹의 구성원인 세 명의 사용자를 성공적으로 추가하였고, 해당 사용자에게 프로젝트와 부모 그룹에서 특정 역할을 부여하였습니다.