InfoGrab DocsInfoGrab Docs

GitLab Duo 기능 가용성 및 구성

요약

이 문서는 GitLab Duo 기능이 어떻게 제어되는지, 누가 사용할 수 있는지, 그리고 GitLab 배포 형태별로 어떻게 구성되는지 설명합니다. 여러 설정이 사용자가 GitLab Duo 기능을 언제 어떻게 사용할 수 있는지를 제어합니다.

이 문서는 GitLab Duo 기능이 어떻게 제어되는지, 누가 사용할 수 있는지, 그리고 GitLab 배포 형태별로 어떻게 구성되는지 설명합니다.

GitLab Duo 기능 가용성 제어#

여러 설정이 사용자가 GitLab Duo 기능을 언제 어떻게 사용할 수 있는지를 제어합니다. 최종 사용자 문서는 이를 사용자 관점에서 설명합니다. 이 문서는 개발자 관점에서 구현 로직을 설명하며 기술적인 세부 사항을 포함합니다.

네임스페이스 청구 및 거버넌스#

GitLab.com에서는 governing_namespace 메서드가 사용자 요청 컨텍스트에서 GitLab Duo 사용량 기반 청구와 거버넌스의 기준이 되는 네임스페이스를 결정합니다. 거버닝 네임스페이스는 GitLab Self-Managed 또는 dedicated 인스턴스에는 적용되지 않습니다.

governing_namespace 메서드는 다음 결정 과정을 따릅니다.

  • scope(네임스페이스 컨텍스트)가 제공되고 사용자가 해당 네임스페이스의 최상위 그룹이나 그 최상위 그룹에 속한 하위 그룹·프로젝트의 멤버라면 최상위 그룹을 사용합니다. 그렇지 않으면 사용자가 선택한 기본 GitLab Duo 네임스페이스를 사용합니다.
  • 사용자가 기본 네임스페이스를 선택하지 않았다면 추론을 시도합니다. 적합한 네임스페이스를 찾을 수 없으면 nil을 반환합니다.
# Without a scope: uses the user's default GitLab Duo namespace
governing_ns = current_user.governing_namespace
# => Returns the user's default namespace or inferred namespace

# With a scope: prefers the scope's top-level group if the user is a member
governing_ns = current_user.governing_namespace(project)
# => Returns the project's top-level group if the user is a member. Otherwise, returns the default namespace

# Alias for clarity in billing contexts
billable_ns = current_user.billable_duo_namespace(resource)

UI 옵션 및 데이터베이스 상태#

UI의 "GitLab Duo Enterprise availability" 설정에는 세 가지 옵션이 있습니다.

  1. On by default - 기능이 활성화되고 하위 엔터티가 이 설정을 상속합니다
  2. Off by default - 기능이 비활성화되지만 하위 엔터티가 재정의할 수 있습니다
  3. Always off - 기능이 비활성화되며 하위 엔터티가 재정의할 수 없습니다

이 UI 옵션은 다음 데이터베이스 상태에 직접 대응합니다.

UI 옵션 duo_features_enabled lock_duo_features_enabled
On by default true false
Off by default false false
Always off false true

캐스케이딩 설정 구현#

duo_features_enabled 설정은 캐스케이딩 설정이며, 이는 GitLab Duo 기능이 계층 구조를 따라 전파되는 방식에 영향을 줍니다.

이 캐스케이딩 동작의 의미는 다음과 같습니다.

  1. 인스턴스, 그룹, 하위 그룹, 프로젝트 등 어느 수준에서나 설정할 수 있습니다
  2. GitLab.com에서는 인스턴스 전체 설정이 항상 true입니다
  3. 하위 엔터티는 상위 엔터티의 설정을 재정의할 수 있습니다. 예를 들면 다음과 같습니다.
    • duo_features_enabled: false인 인스턴스 안에 duo_features_enabled: true인 그룹을 둘 수 있습니다
    • duo_features_enabled: true인 그룹 안에 duo_features_enabled: false인 하위 그룹을 둘 수 있습니다
  4. 상위 수준에서 설정이 true이면 모든 하위 엔터티가 true로 재설정됩니다
  5. 상위 수준에서 설정이 false이면 모든 하위 엔터티가 false로 재설정됩니다
  6. 상위 엔터티는 lock_duo_features_enabled: true로 설정을 "잠글" 수 있습니다(UI에는 "Always off"로 표시됩니다)
    • 잠긴 상태에서는 하위 엔터티가 상위 설정을 재정의할 수 없습니다
    • 이렇게 하면 해당 지점 아래 계층 전체에서 GitLab Duo 기능이 사실상 비활성화됩니다

컨텍스트별 기능 접근성#

사용자가 GitLab Duo 기능을 사용할 수 있는 위치#

유료 GitLab Duo 라이선스(GitLab Duo Pro 또는 GitLab Duo Enterprise)를 보유한 사용자는 다음 대상에 대해 웹 UI와 IDE 양쪽에서 Chat과 Code Suggestions를 사용할 수 있습니다.

  1. GitLab Duo 기능을 비활성화할 수 없는 리소스:

  2. GitLab Duo 기능이 활성화된 리소스:

    • GitLab Self-Managed 및 GitLab Dedicated: 유료 GitLab Duo 라이선스가 있는 인스턴스의 그룹 또는 프로젝트
    • GitLab.com: 유료 GitLab Duo 라이선스가 있는 그룹의 그룹 또는 프로젝트

추가 IDE 접근 시나리오#

특히 IDE 환경에서는 GitLab Duo 라이선스를 보유한 사용자가 다음 대상에 대해 Chat과 Code Suggestions를 사용할 수 있습니다.

  1. Git 구성이 없는 리포지터리
  2. Git 구성이 알 수 없는 오리진을 가리키는 리포지터리(예: GitHub나 사용자가 인증되지 않은 다른 GitLab 인스턴스)

이 시나리오에서는 확인할 GitLab 프로젝트가 없으므로 Code Suggestions는 사용자의 거버닝 네임스페이스로 폴백합니다. 해당 네임스페이스에서 GitLab Duo가 꺼져 있으면 Code Suggestions를 사용할 수 없습니다. GitLab Duo가 있는 네임스페이스에 둘 이상 속해 있고 GitLab Duo 기본 네임스페이스를 선택하지 않은 사용자는 요청을 하나의 네임스페이스로 귀속시킬 수 없으므로 제한을 받지 않습니다.

플랫폼별 동작#

GitLab.com 라이선스 할당#

GitLab.com에서 GitLab Duo 라이선스는 시트를 할당한 그룹이 아니라 라이선스를 할당받은 개별 사용자에게 연결됩니다. GitLab.com의 사용자 계정은 특정 그룹이 "소유"하는 것이 아니라 GitLab 인스턴스 전체에 속하는 독립적인 엔터티입니다.

기능 가용성에 미치는 영향#

그룹에서 GitLab Duo 기능을 비활성화(duo_features_enabled: false)하면 다음과 같습니다.

  • GitLab Duo 라이선스를 보유한 그룹 멤버의 GitLab Duo 접근 권한이 회수되지는 않습니다
  • 라이선스를 보유한 사용자가 해당 그룹에 속한 리소스에 GitLab Duo 기능을 사용하는 것만 차단합니다

예시 시나리오#

사용자가 GitLab Duo 라이선스를 보유했지만 GitLab Duo 기능이 "Always off"로 설정된 그룹에 속해 있다면 다음은 계속 가능합니다.

  • Free 프로젝트의 이슈에 대한 질문에 GitLab Duo Chat 사용
  • GitLab Duo Chat에 일반적인 코딩 질문이나 GitLab에 대한 질문
  • GitLab Duo 기능이 활성화된 다른 그룹의 리소스에 GitLab Duo 기능 사용

해당 그룹의 프로젝트에는 Code Suggestions를 사용할 수 없습니다. 그 그룹이 사용자의 거버닝 네임스페이스이기도 하면, IDE가 리포지터리를 GitLab 프로젝트로 해석하지 못하는 경우에도 Code Suggestions를 사용할 수 없습니다.

다음 플로 다이어그램은 GitLab.com에서 GitLab Duo 기능 가용성이 동작하는 방식을 보여 줍니다.

Mermaid 다이어그램 (14줄)
소스 코드 보기
flowchart TD
    A[Start] --> B{Member of Premium/Ultimate group?}
    B -->|No| C[Cannot use GitLab Duo]
    B -->|Yes| D{Has GitLab Duo Pro/Enterprise license?}
    D -->|No| E[Cannot use GitLab Duo]
    D -->|Yes| F{Using GitLab Duo with specific
                 group/project resource?}
    F -->|No| G[Can use GitLab Duo]
    F -->|Yes| H{Group/Project has
                 GitLab Duo features enabled?}
    H -->|No| I[Cannot use GitLab Duo with
                this resource]
    H -->|Yes| J[Can use GitLab Duo with
                 this resource]

GitLab Duo Core, GitLab Duo Pro, GitLab Duo Enterprise가 포함된 GitLab.com#

GitLab은 세 가지 AI 기능 티어를 제공합니다.

  1. GitLab Duo Core - 기본 AI 기능
  2. GitLab Duo Pro - 더 고급 기능을 갖춘 확장 AI 기능
  3. GitLab Duo Enterprise - 추가 제어 기능을 갖춘 종합 AI 기능
GitLab Duo Core 구성#

GitLab Duo Core가 도입되면서 최상위 Premium 및 Ultimate 그룹에 새 설정이 제공됩니다.

이 설정으로 그룹 Owner는 GitLab Duo Core 가용성을 제어할 수 있습니다.

  • GitLab Duo Core를 활성화("on")한 경우: 그룹의 모든 멤버가 자동으로 GitLab Duo Core 시트를 받습니다
  • GitLab Duo Core를 비활성화("off")한 경우: 그룹의 어떤 멤버도 GitLab Duo Core 시트를 갖지 않습니다
라이선스 티어별 기능 가용성#
기능 GitLab Duo Core GitLab Duo Pro GitLab Duo Enterprise
Chat Agentic Chat만 가능. IDE로 제한 전체 기능 전체 기능
Code Suggestions IDE 및 Web IDE에서 사용 가능 IDE 및 Web IDE에서 사용 가능 IDE 및 Web IDE에서 사용 가능
추가 AI 기능 사용 불가 일부 사용 가능 모두 사용 가능

다음 플로 다이어그램은 GitLab Duo Core 설정을 함께 고려했을 때 GitLab.com에서 GitLab Duo 기능 가용성이 동작하는 방식을 보여 줍니다.

Mermaid 다이어그램 (20줄)
소스 코드 보기
flowchart TD
    A[Start] --> B{Member of Premium/Ultimate group?}
    B -->|No| C[Cannot use GitLab Duo]
    B -->|Yes| D{Has GitLab Duo Pro/Enterprise license?}
    D -->|Yes| E[Can use GitLab Duo]
    D -->|No| F{Any Premium/Ultimate group has
                GitLab Duo Core enabled?}
    F -->|No| G[Cannot use GitLab Duo]
    F -->|Yes| H{Using Chat or
                 Code Suggestions in IDE?}
    H -->|No| I[Cannot use GitLab Duo]
    H -->|Yes| J{Using GitLab Duo with specific
                 group/project resource?}
    J -->|No| K[Can use GitLab Duo]
    J -->|Yes| L{Group/Project has
                 GitLab Duo features enabled?}
    L -->|Yes| M[Can use GitLab Duo with
                 this resource]
    L -->|No| N[Cannot use GitLab Duo with
                this resource]

구성 위치#

GitLab.com 설정 페이지#

GitLab.com에서 GitLab Duo를 구성할 수 있는 설정 페이지는 다음과 같습니다.

관리자 수준#
  • /admin/gitlab_duo
    • GitLab Duo Agent Platform 온보딩
최상위 그룹 설정#
  • /groups/$GROUP_FULL_PATH/-/settings/gitlab_duo
    • 유료 GitLab Duo 시트 할당(가능한 경우)
    • GitLab Duo Configuration 접근
  • /groups/$GROUP_PATH/-/settings/gitlab_duo/configuration
    • GitLab Duo 가용성 구성("On by default", "Off by default", "Always off")
    • 실험 기능 및 베타 GitLab Duo 기능 활성화
    • 파운데이셔널 에이전트 가용성 구성("On by default", "Off by default").
하위 그룹 설정#
  • /groups/$GROUP_FULL_PATH/-/edit
    • 하위 그룹과 그 모든 하위 항목의 GitLab Duo 가용성 구성
프로젝트 설정#
  • /$PROJECT_FULL_PATH/edit
    • "Visibility, project features, permissions" 섹션 아래
    • 특정 프로젝트의 GitLab Duo 가용성 구성

GitLab Self-Managed 및 Dedicated 인스턴스#

Premium 및 Ultimate GitLab Self-Managed·Dedicated 인스턴스에서는 기능 가용성 로직이 GitLab.com과 유사한 패턴을 따르되 한 가지 핵심 차이가 있습니다.

인스턴스 관리자는 인스턴스 수준에서 GitLab Duo 기능을 "Always off"로 설정할 수 있습니다. 이렇게 구성하면 개별 라이선스 할당과 무관하게 인스턴스 전체의 모든 사용자에게 모든 GitLab Duo 기능이 비활성화됩니다.

Mermaid 다이어그램 (15줄)
소스 코드 보기
flowchart TD
    A[Start] --> B{Instance has GitLab Duo features
                   set to 'Always off'?}
    B -->|Yes| C[Cannot use GitLab Duo]
    B -->|No| D{Has GitLab Duo Pro/Enterprise license?}
    D -->|No| E[Cannot use GitLab Duo]
    D -->|Yes| F{Using GitLab Duo with specific
                 group/project resource?}
    F -->|No| G[Can use GitLab Duo]
    F -->|Yes| H{Group/Project has
                 GitLab Duo features enabled?}
    H -->|No| I[Cannot use GitLab Duo with
                this resource]
    H -->|Yes| J[Can use GitLab Duo with
                 this resource]

GitLab Duo Core, GitLab Duo Pro, GitLab Duo Enterprise가 포함된 GitLab Self-Managed 및 Dedicated#

인스턴스 전체 GitLab Duo Core 구성#

GitLab Self-Managed 및 Dedicated 인스턴스에서는 GitLab Duo Core를 인스턴스 수준 설정으로 제어합니다. 이 설정은 모든 Premium 및 Ultimate 인스턴스에서 사용할 수 있습니다.

인스턴스 관리자는 다음을 수행할 수 있습니다.

  • GitLab Duo Core 활성화("on") - 인스턴스의 모든 사용자가 자동으로 GitLab Duo Core 시트를 받습니다
  • GitLab Duo Core 비활성화("off") - 인스턴스의 어떤 사용자도 GitLab Duo Core 시트를 갖지 않습니다
Self-Managed 및 Dedicated 인스턴스에서의 라이선스 티어 차이#

GitLab Duo Core, GitLab Duo Pro, GitLab Duo Enterprise 사이의 기능 차이는 GitLab Self-Managed 및 dedicated 인스턴스에도 동일하게 적용됩니다.

  • GitLab Duo Core: IDE 사용 사례와 일반적인 코딩 지원으로 제한된 기본 AI 기능
  • GitLab Duo Pro: 더 넓은 기능 접근을 갖춘 확장 AI 기능
  • GitLab Duo Enterprise: 추가 엔터프라이즈 제어를 갖춘 종합 AI 기능

GitLab Self-Managed 인스턴스에는 자체 호스팅 AI 모델과 통합하고 기능 동작을 제어하기 위한 추가 구성 옵션이 있습니다.

다음 플로 다이어그램은 GitLab Duo Core 설정을 함께 고려했을 때 GitLab.com이 아닌 인스턴스에서 GitLab Duo 기능 가용성이 동작하는 방식을 보여 줍니다.

Mermaid 다이어그램 (20줄)
소스 코드 보기
flowchart TD
    A[Start] --> B{Instance has GitLab Duo features
                   set to 'Always off'?}
    B -->|Yes| C[Cannot use GitLab Duo]
    B -->|No| D{Has GitLab Duo Pro/Enterprise license?}
    D -->|Yes| E[Can use GitLab Duo]
    D -->|No| F{Instance has GitLab Duo Core enabled?}
    F -->|No| G[Cannot use GitLab Duo]
    F -->|Yes| H{Using Chat or
                 Code Suggestions in IDE?}
    H -->|No| I[Cannot use GitLab Duo]
    H -->|Yes| J{Using GitLab Duo with specific
                 group/project resource?}
    J -->|No| K[Can use GitLab Duo]
    J -->|Yes| L{Group/Project has
                 GitLab Duo features enabled?}
    L -->|Yes| M[Can use GitLab Duo with
                 this resource]
    L -->|No| N[Cannot use GitLab Duo with
                this resource]

GitLab Self-Managed 및 Dedicated 설정 페이지#

GitLab Self-Managed 및 dedicated 인스턴스에서 GitLab Duo를 구성할 수 있는 설정 페이지는 다음과 같습니다.

인스턴스 관리자 설정#
  • /admin/gitlab_duo
    • 사용자에게 유료 GitLab Duo 시트 할당
    • GitLab Duo Configuration 접근
  • /admin/gitlab_duo/configuration
    • 인스턴스 전체 GitLab Duo 가용성 구성
    • 실험 기능 및 베타 GitLab Duo 기능 활성화
    • GitLab Duo Chat 대화 만료 기간 구성
    • Code Suggestions 직접 연결 활성화
    • 자체 호스팅 배포용 베타 AI 모델 활성화
    • AI 로깅 설정 구성
    • 자체 호스팅 배포용 AI Gateway URL 설정
  • /admin/gitlab_duo/model_selection
    • 인스턴스 수준 모델 선택 구성
    • 자체 호스팅 AI 모델 통합 구성
    • GitLab Duo 기능별로 특정 자체 호스팅 모델 선택
그룹 및 하위 그룹 설정#
  • /groups/$GROUP_FULL_PATH/-/edit
    • 그룹과 그 모든 하위 엔터티의 GitLab Duo 가용성 구성
프로젝트 설정#
  • /$PROJECT_FULL_PATH/edit
    • "Visibility, project features, permissions" 섹션 아래
    • 특정 프로젝트의 GitLab Duo 가용성 구성

GitLab Duo 기능 가용성 및 구성

GitLab v19.5
원문 보기

요약

이 문서는 GitLab Duo 기능이 어떻게 제어되는지, 누가 사용할 수 있는지, 그리고 GitLab 배포 형태별로 어떻게 구성되는지 설명합니다. 여러 설정이 사용자가 GitLab Duo 기능을 언제 어떻게 사용할 수 있는지를 제어합니다.

이 문서는 GitLab Duo 기능이 어떻게 제어되는지, 누가 사용할 수 있는지, 그리고 GitLab 배포 형태별로 어떻게 구성되는지 설명합니다.

GitLab Duo 기능 가용성 제어#

여러 설정이 사용자가 GitLab Duo 기능을 언제 어떻게 사용할 수 있는지를 제어합니다. 최종 사용자 문서는 이를 사용자 관점에서 설명합니다. 이 문서는 개발자 관점에서 구현 로직을 설명하며 기술적인 세부 사항을 포함합니다.

네임스페이스 청구 및 거버넌스#

GitLab.com에서는 governing_namespace 메서드가 사용자 요청 컨텍스트에서 GitLab Duo 사용량 기반 청구와 거버넌스의 기준이 되는 네임스페이스를 결정합니다. 거버닝 네임스페이스는 GitLab Self-Managed 또는 dedicated 인스턴스에는 적용되지 않습니다.

governing_namespace 메서드는 다음 결정 과정을 따릅니다.

  • scope(네임스페이스 컨텍스트)가 제공되고 사용자가 해당 네임스페이스의 최상위 그룹이나 그 최상위 그룹에 속한 하위 그룹·프로젝트의 멤버라면 최상위 그룹을 사용합니다. 그렇지 않으면 사용자가 선택한 기본 GitLab Duo 네임스페이스를 사용합니다.
  • 사용자가 기본 네임스페이스를 선택하지 않았다면 추론을 시도합니다. 적합한 네임스페이스를 찾을 수 없으면 nil을 반환합니다.
# Without a scope: uses the user's default GitLab Duo namespace
governing_ns = current_user.governing_namespace
# => Returns the user's default namespace or inferred namespace

# With a scope: prefers the scope's top-level group if the user is a member
governing_ns = current_user.governing_namespace(project)
# => Returns the project's top-level group if the user is a member. Otherwise, returns the default namespace

# Alias for clarity in billing contexts
billable_ns = current_user.billable_duo_namespace(resource)

UI 옵션 및 데이터베이스 상태#

UI의 "GitLab Duo Enterprise availability" 설정에는 세 가지 옵션이 있습니다.

  1. On by default - 기능이 활성화되고 하위 엔터티가 이 설정을 상속합니다
  2. Off by default - 기능이 비활성화되지만 하위 엔터티가 재정의할 수 있습니다
  3. Always off - 기능이 비활성화되며 하위 엔터티가 재정의할 수 없습니다

이 UI 옵션은 다음 데이터베이스 상태에 직접 대응합니다.

UI 옵션 duo_features_enabled lock_duo_features_enabled
On by default true false
Off by default false false
Always off false true

캐스케이딩 설정 구현#

duo_features_enabled 설정은 캐스케이딩 설정이며, 이는 GitLab Duo 기능이 계층 구조를 따라 전파되는 방식에 영향을 줍니다.

이 캐스케이딩 동작의 의미는 다음과 같습니다.

  1. 인스턴스, 그룹, 하위 그룹, 프로젝트 등 어느 수준에서나 설정할 수 있습니다
  2. GitLab.com에서는 인스턴스 전체 설정이 항상 true입니다
  3. 하위 엔터티는 상위 엔터티의 설정을 재정의할 수 있습니다. 예를 들면 다음과 같습니다.
    • duo_features_enabled: false인 인스턴스 안에 duo_features_enabled: true인 그룹을 둘 수 있습니다
    • duo_features_enabled: true인 그룹 안에 duo_features_enabled: false인 하위 그룹을 둘 수 있습니다
  4. 상위 수준에서 설정이 true이면 모든 하위 엔터티가 true로 재설정됩니다
  5. 상위 수준에서 설정이 false이면 모든 하위 엔터티가 false로 재설정됩니다
  6. 상위 엔터티는 lock_duo_features_enabled: true로 설정을 "잠글" 수 있습니다(UI에는 "Always off"로 표시됩니다)
    • 잠긴 상태에서는 하위 엔터티가 상위 설정을 재정의할 수 없습니다
    • 이렇게 하면 해당 지점 아래 계층 전체에서 GitLab Duo 기능이 사실상 비활성화됩니다

컨텍스트별 기능 접근성#

사용자가 GitLab Duo 기능을 사용할 수 있는 위치#

유료 GitLab Duo 라이선스(GitLab Duo Pro 또는 GitLab Duo Enterprise)를 보유한 사용자는 다음 대상에 대해 웹 UI와 IDE 양쪽에서 Chat과 Code Suggestions를 사용할 수 있습니다.

  1. GitLab Duo 기능을 비활성화할 수 없는 리소스:

  2. GitLab Duo 기능이 활성화된 리소스:

    • GitLab Self-Managed 및 GitLab Dedicated: 유료 GitLab Duo 라이선스가 있는 인스턴스의 그룹 또는 프로젝트
    • GitLab.com: 유료 GitLab Duo 라이선스가 있는 그룹의 그룹 또는 프로젝트

추가 IDE 접근 시나리오#

특히 IDE 환경에서는 GitLab Duo 라이선스를 보유한 사용자가 다음 대상에 대해 Chat과 Code Suggestions를 사용할 수 있습니다.

  1. Git 구성이 없는 리포지터리
  2. Git 구성이 알 수 없는 오리진을 가리키는 리포지터리(예: GitHub나 사용자가 인증되지 않은 다른 GitLab 인스턴스)

이 시나리오에서는 확인할 GitLab 프로젝트가 없으므로 Code Suggestions는 사용자의 거버닝 네임스페이스로 폴백합니다. 해당 네임스페이스에서 GitLab Duo가 꺼져 있으면 Code Suggestions를 사용할 수 없습니다. GitLab Duo가 있는 네임스페이스에 둘 이상 속해 있고 GitLab Duo 기본 네임스페이스를 선택하지 않은 사용자는 요청을 하나의 네임스페이스로 귀속시킬 수 없으므로 제한을 받지 않습니다.

플랫폼별 동작#

GitLab.com 라이선스 할당#

GitLab.com에서 GitLab Duo 라이선스는 시트를 할당한 그룹이 아니라 라이선스를 할당받은 개별 사용자에게 연결됩니다. GitLab.com의 사용자 계정은 특정 그룹이 "소유"하는 것이 아니라 GitLab 인스턴스 전체에 속하는 독립적인 엔터티입니다.

기능 가용성에 미치는 영향#

그룹에서 GitLab Duo 기능을 비활성화(duo_features_enabled: false)하면 다음과 같습니다.

  • GitLab Duo 라이선스를 보유한 그룹 멤버의 GitLab Duo 접근 권한이 회수되지는 않습니다
  • 라이선스를 보유한 사용자가 해당 그룹에 속한 리소스에 GitLab Duo 기능을 사용하는 것만 차단합니다

예시 시나리오#

사용자가 GitLab Duo 라이선스를 보유했지만 GitLab Duo 기능이 "Always off"로 설정된 그룹에 속해 있다면 다음은 계속 가능합니다.

  • Free 프로젝트의 이슈에 대한 질문에 GitLab Duo Chat 사용
  • GitLab Duo Chat에 일반적인 코딩 질문이나 GitLab에 대한 질문
  • GitLab Duo 기능이 활성화된 다른 그룹의 리소스에 GitLab Duo 기능 사용

해당 그룹의 프로젝트에는 Code Suggestions를 사용할 수 없습니다. 그 그룹이 사용자의 거버닝 네임스페이스이기도 하면, IDE가 리포지터리를 GitLab 프로젝트로 해석하지 못하는 경우에도 Code Suggestions를 사용할 수 없습니다.

다음 플로 다이어그램은 GitLab.com에서 GitLab Duo 기능 가용성이 동작하는 방식을 보여 줍니다.

Mermaid 다이어그램 (14줄)
소스 코드 보기
flowchart TD
    A[Start] --> B{Member of Premium/Ultimate group?}
    B -->|No| C[Cannot use GitLab Duo]
    B -->|Yes| D{Has GitLab Duo Pro/Enterprise license?}
    D -->|No| E[Cannot use GitLab Duo]
    D -->|Yes| F{Using GitLab Duo with specific
                 group/project resource?}
    F -->|No| G[Can use GitLab Duo]
    F -->|Yes| H{Group/Project has
                 GitLab Duo features enabled?}
    H -->|No| I[Cannot use GitLab Duo with
                this resource]
    H -->|Yes| J[Can use GitLab Duo with
                 this resource]

GitLab Duo Core, GitLab Duo Pro, GitLab Duo Enterprise가 포함된 GitLab.com#

GitLab은 세 가지 AI 기능 티어를 제공합니다.

  1. GitLab Duo Core - 기본 AI 기능
  2. GitLab Duo Pro - 더 고급 기능을 갖춘 확장 AI 기능
  3. GitLab Duo Enterprise - 추가 제어 기능을 갖춘 종합 AI 기능
GitLab Duo Core 구성#

GitLab Duo Core가 도입되면서 최상위 Premium 및 Ultimate 그룹에 새 설정이 제공됩니다.

이 설정으로 그룹 Owner는 GitLab Duo Core 가용성을 제어할 수 있습니다.

  • GitLab Duo Core를 활성화("on")한 경우: 그룹의 모든 멤버가 자동으로 GitLab Duo Core 시트를 받습니다
  • GitLab Duo Core를 비활성화("off")한 경우: 그룹의 어떤 멤버도 GitLab Duo Core 시트를 갖지 않습니다
라이선스 티어별 기능 가용성#
기능 GitLab Duo Core GitLab Duo Pro GitLab Duo Enterprise
Chat Agentic Chat만 가능. IDE로 제한 전체 기능 전체 기능
Code Suggestions IDE 및 Web IDE에서 사용 가능 IDE 및 Web IDE에서 사용 가능 IDE 및 Web IDE에서 사용 가능
추가 AI 기능 사용 불가 일부 사용 가능 모두 사용 가능

다음 플로 다이어그램은 GitLab Duo Core 설정을 함께 고려했을 때 GitLab.com에서 GitLab Duo 기능 가용성이 동작하는 방식을 보여 줍니다.

Mermaid 다이어그램 (20줄)
소스 코드 보기
flowchart TD
    A[Start] --> B{Member of Premium/Ultimate group?}
    B -->|No| C[Cannot use GitLab Duo]
    B -->|Yes| D{Has GitLab Duo Pro/Enterprise license?}
    D -->|Yes| E[Can use GitLab Duo]
    D -->|No| F{Any Premium/Ultimate group has
                GitLab Duo Core enabled?}
    F -->|No| G[Cannot use GitLab Duo]
    F -->|Yes| H{Using Chat or
                 Code Suggestions in IDE?}
    H -->|No| I[Cannot use GitLab Duo]
    H -->|Yes| J{Using GitLab Duo with specific
                 group/project resource?}
    J -->|No| K[Can use GitLab Duo]
    J -->|Yes| L{Group/Project has
                 GitLab Duo features enabled?}
    L -->|Yes| M[Can use GitLab Duo with
                 this resource]
    L -->|No| N[Cannot use GitLab Duo with
                this resource]

구성 위치#

GitLab.com 설정 페이지#

GitLab.com에서 GitLab Duo를 구성할 수 있는 설정 페이지는 다음과 같습니다.

관리자 수준#
  • /admin/gitlab_duo
    • GitLab Duo Agent Platform 온보딩
최상위 그룹 설정#
  • /groups/$GROUP_FULL_PATH/-/settings/gitlab_duo
    • 유료 GitLab Duo 시트 할당(가능한 경우)
    • GitLab Duo Configuration 접근
  • /groups/$GROUP_PATH/-/settings/gitlab_duo/configuration
    • GitLab Duo 가용성 구성("On by default", "Off by default", "Always off")
    • 실험 기능 및 베타 GitLab Duo 기능 활성화
    • 파운데이셔널 에이전트 가용성 구성("On by default", "Off by default").
하위 그룹 설정#
  • /groups/$GROUP_FULL_PATH/-/edit
    • 하위 그룹과 그 모든 하위 항목의 GitLab Duo 가용성 구성
프로젝트 설정#
  • /$PROJECT_FULL_PATH/edit
    • "Visibility, project features, permissions" 섹션 아래
    • 특정 프로젝트의 GitLab Duo 가용성 구성

GitLab Self-Managed 및 Dedicated 인스턴스#

Premium 및 Ultimate GitLab Self-Managed·Dedicated 인스턴스에서는 기능 가용성 로직이 GitLab.com과 유사한 패턴을 따르되 한 가지 핵심 차이가 있습니다.

인스턴스 관리자는 인스턴스 수준에서 GitLab Duo 기능을 "Always off"로 설정할 수 있습니다. 이렇게 구성하면 개별 라이선스 할당과 무관하게 인스턴스 전체의 모든 사용자에게 모든 GitLab Duo 기능이 비활성화됩니다.

Mermaid 다이어그램 (15줄)
소스 코드 보기
flowchart TD
    A[Start] --> B{Instance has GitLab Duo features
                   set to 'Always off'?}
    B -->|Yes| C[Cannot use GitLab Duo]
    B -->|No| D{Has GitLab Duo Pro/Enterprise license?}
    D -->|No| E[Cannot use GitLab Duo]
    D -->|Yes| F{Using GitLab Duo with specific
                 group/project resource?}
    F -->|No| G[Can use GitLab Duo]
    F -->|Yes| H{Group/Project has
                 GitLab Duo features enabled?}
    H -->|No| I[Cannot use GitLab Duo with
                this resource]
    H -->|Yes| J[Can use GitLab Duo with
                 this resource]

GitLab Duo Core, GitLab Duo Pro, GitLab Duo Enterprise가 포함된 GitLab Self-Managed 및 Dedicated#

인스턴스 전체 GitLab Duo Core 구성#

GitLab Self-Managed 및 Dedicated 인스턴스에서는 GitLab Duo Core를 인스턴스 수준 설정으로 제어합니다. 이 설정은 모든 Premium 및 Ultimate 인스턴스에서 사용할 수 있습니다.

인스턴스 관리자는 다음을 수행할 수 있습니다.

  • GitLab Duo Core 활성화("on") - 인스턴스의 모든 사용자가 자동으로 GitLab Duo Core 시트를 받습니다
  • GitLab Duo Core 비활성화("off") - 인스턴스의 어떤 사용자도 GitLab Duo Core 시트를 갖지 않습니다
Self-Managed 및 Dedicated 인스턴스에서의 라이선스 티어 차이#

GitLab Duo Core, GitLab Duo Pro, GitLab Duo Enterprise 사이의 기능 차이는 GitLab Self-Managed 및 dedicated 인스턴스에도 동일하게 적용됩니다.

  • GitLab Duo Core: IDE 사용 사례와 일반적인 코딩 지원으로 제한된 기본 AI 기능
  • GitLab Duo Pro: 더 넓은 기능 접근을 갖춘 확장 AI 기능
  • GitLab Duo Enterprise: 추가 엔터프라이즈 제어를 갖춘 종합 AI 기능

GitLab Self-Managed 인스턴스에는 자체 호스팅 AI 모델과 통합하고 기능 동작을 제어하기 위한 추가 구성 옵션이 있습니다.

다음 플로 다이어그램은 GitLab Duo Core 설정을 함께 고려했을 때 GitLab.com이 아닌 인스턴스에서 GitLab Duo 기능 가용성이 동작하는 방식을 보여 줍니다.

Mermaid 다이어그램 (20줄)
소스 코드 보기
flowchart TD
    A[Start] --> B{Instance has GitLab Duo features
                   set to 'Always off'?}
    B -->|Yes| C[Cannot use GitLab Duo]
    B -->|No| D{Has GitLab Duo Pro/Enterprise license?}
    D -->|Yes| E[Can use GitLab Duo]
    D -->|No| F{Instance has GitLab Duo Core enabled?}
    F -->|No| G[Cannot use GitLab Duo]
    F -->|Yes| H{Using Chat or
                 Code Suggestions in IDE?}
    H -->|No| I[Cannot use GitLab Duo]
    H -->|Yes| J{Using GitLab Duo with specific
                 group/project resource?}
    J -->|No| K[Can use GitLab Duo]
    J -->|Yes| L{Group/Project has
                 GitLab Duo features enabled?}
    L -->|Yes| M[Can use GitLab Duo with
                 this resource]
    L -->|No| N[Cannot use GitLab Duo with
                this resource]

GitLab Self-Managed 및 Dedicated 설정 페이지#

GitLab Self-Managed 및 dedicated 인스턴스에서 GitLab Duo를 구성할 수 있는 설정 페이지는 다음과 같습니다.

인스턴스 관리자 설정#
  • /admin/gitlab_duo
    • 사용자에게 유료 GitLab Duo 시트 할당
    • GitLab Duo Configuration 접근
  • /admin/gitlab_duo/configuration
    • 인스턴스 전체 GitLab Duo 가용성 구성
    • 실험 기능 및 베타 GitLab Duo 기능 활성화
    • GitLab Duo Chat 대화 만료 기간 구성
    • Code Suggestions 직접 연결 활성화
    • 자체 호스팅 배포용 베타 AI 모델 활성화
    • AI 로깅 설정 구성
    • 자체 호스팅 배포용 AI Gateway URL 설정
  • /admin/gitlab_duo/model_selection
    • 인스턴스 수준 모델 선택 구성
    • 자체 호스팅 AI 모델 통합 구성
    • GitLab Duo 기능별로 특정 자체 호스팅 모델 선택
그룹 및 하위 그룹 설정#
  • /groups/$GROUP_FULL_PATH/-/edit
    • 그룹과 그 모든 하위 엔터티의 GitLab Duo 가용성 구성
프로젝트 설정#
  • /$PROJECT_FULL_PATH/edit
    • "Visibility, project features, permissions" 섹션 아래
    • 특정 프로젝트의 GitLab Duo 가용성 구성