GitLab Duo 가용성 제어

일반적으로 사용 가능한 GitLab Duo 기능은 접근 권한이 있는 모든 사용자에게 자동으로 활성화됩니다.

전제 조건

실험적 또는 베타인 GitLab Duo 기능은 기본적으로 비활성화되어 있으며

활성화해야 합니다.

셀프 관리 인스턴스에서 GitLab Duo 구성

셀프 관리 인스턴스에서 GitLab Duo를 사용하려면, 외부 및 내부 연결이 모두 존재하는지 확인해야 합니다.

예를 들어, 네트워크 방화벽이 지연을 초래할 수 있습니다. 외부 및 내부 설정을 모두 확인하세요:

GitLab 인스턴스에서 외부 연결 허용

  • 귀하의 방화벽과 HTTP/S 프록시 서버는 포트 443에서 cloud.gitlab.comcustomers.gitlab.com에 대한 외부 연결을 허용해야 하며, 둘 다 https://를 사용해야 합니다. 이러한 호스트는 Cloudflare에 의해 보호됩니다. 귀하의 방화벽 설정을 업데이트하여 Cloudflare가 게시한 IP 범위 목록의 모든 IP 주소로 트래픽을 허용하세요.

  • HTTP/S 프록시를 사용하려면, gitLab_workhorsegitLab_rails 모두 필요한

    웹 프록시 환경 변수를 설정해야 합니다.

  • 다중 노드 GitLab 설치에서는 모든 RailsSidekiq 노드에서 HTTP/S 프록시를 구성해야 합니다.

클라이언트에서 GitLab 인스턴스로의 인바운드 연결 허용

  • GitLab 인스턴스는 Duo 클라이언트(IDEs, 코드 편집기 및 GitLab 웹 프론트엔드)에서 포트 443의 https://wss://를 통한 인바운드 연결을 허용해야 합니다.

  • HTTP2'upgrade' 헤더를 모두 허용해야 합니다, 왜냐하면 GitLab Duo는 REST와 웹소켓을 모두 사용하기 때문입니다.

  • wss://gitlab.example.com/-/cable 및 기타 .com 도메인에 대한 WebSocket (wss://) 트래픽에 대한 제한 사항을 확인해주세요. wss:// 트래픽에 대한 네트워크 정책 제한은 일부 GitLab Duo 채팅 서비스에 문제를 일으킬 수 있습니다. 이러한 서비스를 허용하기 위해 정책 업데이트를 고려하세요.

  • Apache와 같은 리버스 프록시를 사용하는 경우, 로그에서 … 실패에 대한 웹소켓 연결과 같은 GitLab Duo 채팅 연결 문제를 볼 수 있습니다.

이 문제를 해결하려면 Apache 프록시 설정을 편집해 보세요:

# 웹소켓 리버스 프록시 활성화
# proxy_wstunnel이 활성화되어야 함
  RewriteCond %{HTTP:Upgrade} websocket [NC]
  RewriteCond %{HTTP:Connection} upgrade [NC]
  RewriteRule ^/?(.*) "ws://127.0.0.1:8181/$1" [P,L]

GitLab Duo의 상태 점검 실행

Offering: Self-managed, GitLab Dedicated
Tier: Premium, Ultimate Status: Beta

GitLab Duo를 사용하기 위한 요구 사항을 충족하는지 확인하기 위해 상태 점검을 실행합니다.
상태 점검이 완료되면 통과 또는 실패 결과와 문제 유형이 표시됩니다.
상태 점검이 테스트 중 하나라도 실패하면, 사용자들은 귀하의 인스턴스에서 GitLab Duo 기능을 사용할 수 없을 수도 있습니다.

이것은 베타 기능입니다.

사전 요구 사항:

  • 관리자여야 합니다.

상태 점검을 실행하려면:

  1. 왼쪽 사이드바에서 하단의 Admin를 선택합니다.
  2. GitLab Duo를 선택합니다.
  3. 오른쪽 상단에서 Run health check를 선택합니다.

상태 점검 테스트

귀하의 인스턴스가 GitLab Duo를 사용하기 위한 요구 사항을 충족하는지 확인하기 위해 상태 점검은 온라인 및 오프라인 환경에 대한 테스트를 수행합니다.

온라인 환경의 경우

테스트 설명
네트워크 귀하의 인스턴스가 customers.gitlab.comcloud.gitlab.com에 연결할 수 있는지 테스트합니다.

귀하의 인스턴스가 어느 목적지에도 연결할 수 없는 경우 방화벽이나 프록시 서버 설정이 연결을 허용하도록 적용되었는지 확인하십시오.
동기화 귀하의 구독이:
- 활성화 코드로 활성화되었으며 customers.gitlab.com와 동기화될 수 있는지 테스트합니다.
- 올바른 접근 자격 증명을 가졌는지 테스트합니다.
- 최근에 동기화되었는지 테스트합니다. 만약 그렇지 않거나 접근 자격 증명이 없거나 만료되었다면, 구독 데이터를 수동으로 동기화할 수 있습니다.
시스템 교환 귀하의 인스턴스에서 코드 제안이 사용될 수 있는지 테스트합니다. 시스템 교환 평가가 실패하면, 사용자들은 GitLab Duo 기능을 사용할 수 없을 수도 있습니다.

오프라인 환경의 경우

테스트 설명
네트워크 다음을 테스트합니다:
- 환경 변수 AI_GATEWAY_URL이 유효한 URL로 설정되었는지 테스트합니다.
- 귀하의 인스턴스가 AI_GATEWAY_URL로 지정된 URL에 연결할 수 있는지 테스트합니다.

귀하의 인스턴스가 URL에 연결할 수 없는 경우 방화벽이나 프록시 서버 설정이 연결을 허용하도록 적용되었는지 확인하십시오.
라이센스 귀하의 라이센스가 코드 제안 기능에 접근할 수 있는지 테스트합니다.
시스템 교환 귀하의 인스턴스에서 코드 제안이 사용될 수 있는지 테스트합니다. 시스템 교환 평가가 실패하면 사용자들은 GitLab Duo 기능을 사용할 수 없을 수도 있습니다.

GitLab Duo 기능 끄기

그룹, 프로젝트 또는 인스턴스에 대해 GitLab Duo를 끌 수 있습니다.

그룹, 프로젝트 또는 인스턴스에서 GitLab Duo가 꺼지면:

  • 코드, 문제 및 취약성과 같은 리소스에 접근하는 GitLab Duo 기능이 제공되지 않습니다.
  • 코드 제안은 사용할 수 없습니다.

그러나 GitLab Duo Chat은 다르게 작동합니다. GitLab Duo를 끌 때:

  • 그룹 또는 프로젝트의 경우:
    • GitLab Duo Chat에 질문을 여전히 할 수 있습니다. 이러한 질문은 GitLab에 관한 것 또는 코드에 대한 일반 질문과 같은 일반적이어야 합니다. GitLab Duo Chat은 그룹 또는 프로젝트 리소스에 접근하지 않으며, 이에 대한 질문을 거부합니다.
  • 인스턴스의 경우:
    • UI의 어느 곳에서도 GitLab Duo Chat 버튼이 제공되지 않습니다.

그룹에서 끄기

17.4 이상

GitLab 17.4 이상에서 그룹 및 해당 하위 그룹과 프로젝트에 대해 GitLab Duo를 끄려면 다음 지침을 따르세요.

전제 조건:

  • 그룹에 대한 소유자 역할이 있어야 합니다.

그룹에서 GitLab Duo를 끄려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.

  2. 설정 > 일반을 선택합니다.

  3. GitLab Duo 기능을 확장합니다.

  4. 옵션을 선택합니다:
    • 그룹에서 GitLab Duo를 끄되 다른 그룹이나 프로젝트에서는 켤 수 있도록 하려면 기본적으로 꺼짐을 선택합니다.
    • 그룹에서 GitLab Duo를 끄고 다른 그룹이나 프로젝트가 절대 켜지 않도록 하려면 절대 켜지 않음을 선택합니다.
  5. 변경 사항 저장을 선택합니다.
17.3 이하

GitLab 17.3 이하에서 그룹 및 해당 하위 그룹과 프로젝트에 대해 GitLab Duo를 끄려면 다음 지침을 따르세요.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.

  2. 설정 > 일반을 선택합니다.

  3. 권한 및 그룹 기능을 확장합니다.

  4. GitLab Duo 기능 사용 체크박스를 비웁니다.

  5. 선택 사항. 모든 하위 그룹에 강제 적용 체크박스를 선택하여 모든 하위 그룹에 설정을 전파합니다.

    설정 전파

프로젝트에서 끄기

17.4 이상

GitLab 17.4 이상에서 프로젝트에 대해 GitLab Duo를 끄려면 다음 지침을 따르세요.

전제 조건:

  • 프로젝트에 대한 소유자 역할이 있어야 합니다.

프로젝트에서 GitLab Duo를 끄려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.

  2. 설정 > 일반을 선택합니다.

  3. 가시성, 프로젝트 기능, 권한을 확장합니다.

  4. GitLab Duo 아래에서 토글을 끕니다.

  5. 변경 사항 저장을 선택합니다.

17.3 이하

GitLab 17.3 이하에서 프로젝트에 대해 GitLab Duo를 끄려면 다음 지침을 따르세요.

  1. GitLab GraphQL API를 사용합니다 projectSettingsUpdate 변형을 사용하세요.

  2. duo_features_enabled 설정을 false로 설정합니다. (기본값은 true입니다.)

인스턴스에서 끄기

Offering: Self-managed
17.4 이상

GitLab 17.4 이상에서 인스턴스에 대해 GitLab Duo를 끄려면 다음 지침을 따르세요.

전제 조건:

  • 관리자인 경우여야 합니다.

인스턴스에서 GitLab Duo를 끄려면:

  1. 왼쪽 사이드바의 하단에서 관리자 영역을 선택합니다.

  2. 설정 > 일반을 선택합니다.

  3. GitLab Duo 기능을 확장합니다.

  4. 옵션을 선택합니다:
    • 인스턴스에서 GitLab Duo를 끄되 그룹과 프로젝트에서 켤 수 있도록 하려면 기본적으로 꺼짐을 선택합니다.
    • 인스턴스에서 GitLab Duo를 끄고 그룹이나 프로젝트에서 절대 켜지 않도록 하려면 절대 켜지 않음을 선택합니다.
  5. 변경 사항 저장을 선택합니다.
17.3 이하

GitLab 17.3 이하에서 인스턴스에 대해 GitLab Duo를 끄려면 다음 지침을 따르세요.

  1. 왼쪽 사이드바의 하단에서 관리를 선택합니다.

  2. 설정 > 일반을 선택합니다.

  3. AI 기반 기능을 확장합니다.

  4. Duo 기능 사용 체크박스를 비웁니다.

  5. 선택 사항. 모든 하위 그룹에 강제 적용 체크박스를 선택하여 인스턴스의 모든 그룹에 설정을 전파합니다.

note
특정 그룹이나 프로젝트에 대한 설정을 관리자가 무시할 수 있도록 허용하는 문제가 존재합니다.

베타 및 실험적 기능 활성화

GitLab Duo의 실험적 및 베타 기능은 기본적으로 꺼져 있습니다.
이 기능은 테스트 계약서의 적용을 받습니다.

GitLab.com에서

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed
17.4 및 이후

GitLab 17.4 및 이후 버전에서는 다음 지침에 따라
GitLab.com의 그룹에 대한 GitLab Duo의 실험적 및 베타 기능을 활성화합니다.

전제 조건:

  • 최상위 그룹에 대한 소유자 역할을 가져야 합니다.

최상위 그룹에 대한 GitLab Duo의 실험 및 베타 기능을 활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 설정 > 일반을 선택합니다.
  3. GitLab Duo 기능을 확장합니다.
  4. GitLab Duo 미리보기 기능 아래에서 실험 및 베타 GitLab Duo 기능 사용을 선택합니다.
  5. 변경 사항 저장을 선택합니다.
17.3 및 이전

GitLab 17.3 및 이전 버전에서는 다음 지침에 따라
GitLab.com의 그룹에 대한 GitLab Duo의 실험적 및 베타 기능을 활성화합니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 설정 > 일반을 선택합니다.
  3. 권한 및 그룹 기능을 확장합니다.
  4. GitLab Duo 실험 및 베타 기능 아래에서 실험 및 베타 GitLab Duo 기능 사용 체크박스를 선택합니다.
  5. 변경 사항 저장을 선택합니다.

이 설정은 해당 그룹에 속한 모든 프로젝트에 전파됩니다.

Self-managed

17.4 및 이후

GitLab 17.4 및 이후 버전에서는 다음 지침에 따라 GitLab Duo
실험 및 베타 기능을 self-managed 인스턴스에서 활성화합니다.

전제 조건:

  • 관리자가 되어야 합니다.

인스턴스에 대한 GitLab Duo의 실험 및 베타 기능을 활성화하려면:

  1. 왼쪽 사이드바에서 아래쪽에 있는 관리자 영역을 선택합니다.
  2. 설정 > 일반을 선택합니다.
  3. GitLab Duo 기능을 확장합니다.
  4. GitLab Duo 미리보기 기능 아래에서 실험 및 베타 GitLab Duo 기능 사용을 선택합니다.
  5. 변경 사항 저장을 선택합니다.
17.3 및 이전

GitLab Duo Chat이 일반적으로 제공되지 않는 GitLab 버전에서
GitLab Duo 베타 및 실험적 기능을 활성화하려면
GitLab Duo Chat 문서를 참조하세요.

문제 해결

self-managed에서 GitLab Duo 기능이 작동하지 않음

GitLab Duo 기능 활성화 외에도 다음을 수행할 수 있습니다.

  1. 관리자로서 GitLab Duo의 상태 점검을 실행합니다.
  2. GitLab 인스턴스가 필요한 GitLab.com 엔드포인트에 접근할 수 있는지 확인합니다.
    명령행 도구인 curl을 사용하여 연결 상태를 확인할 수 있습니다.

     curl --verbose "https://cloud.gitlab.com"  
    
     curl --verbose "https://customers.gitlab.com"  
    

    GitLab 인스턴스에 대해 HTTP/S 프록시가 구성된 경우, curl 명령에 proxy 매개변수를 포함합니다.

     # curl에 대한 https 프록시  
     curl --verbose --proxy "http://USERNAME:PASSWORD@example.com:8080" "https://cloud.gitlab.com"  
     curl --verbose --proxy "http://USERNAME:PASSWORD@example.com:8080" "https://customers.gitlab.com"  
    
  3. 구독 데이터 수동 동기화를 수행합니다.

GitLab Duo 기능이 사용자에게 제공되지 않는 경우

GitLab Duo 기능을 켜는 방법 외에도 다음을 수행할 수 있습니다:

  1. 구독 좌석이 구매되었는지 확인하세요.
  2. 좌석이 사용자에게 할당되었는지 확인하세요.
  3. GitLab Duo 확장을 사용하는 IDE 사용자에 대해:
    • 확장이 최신인지 확인하세요.
    • 확장 설정 상태 검사를 실행하고 인증을 테스트하세요.