InfoGrab DocsInfoGrab Docs

GitLab Duo 구성

요약

DETAILS: Offering: GitLab Self-Managed, GitLab Dedicated for Government GitLab Duo는 소프트웨어 개발 라이프사이클 전반에 걸쳐 도움을 주는 AI 네이티브 어시스턴트입니다.

DETAILS: Offering: GitLab Self-Managed, GitLab Dedicated for Government

GitLab Duo는 소프트웨어 개발 라이프사이클 전반에 걸쳐 도움을 주는 AI 네이티브 어시스턴트입니다.

GitLab Duo를 다음과 같이 사용하도록 구성할 수 있습니다:

  • 클라우드 기반 AI Gateway(기본값): GitLab 호스팅 AI Gateway와 벤더 언어 모델.

  • 자체 호스팅 모델: 데이터와 보안을 완전히 제어하기 위한 자체 AI Gateway 및 언어 모델.

  • 하이브리드 구성: 일부 기능에는 자체 호스팅 모델을, 다른 기능에는 클라우드 기반 모델을 사용.

필수 요건#

라이선스 키는 사용할 수 없습니다.

  • 오프라인 라이선스로는 GitLab Duo를 사용할 수 없습니다. GitLab Duo Self-Hosted는 예외입니다.

  • 인스턴스를 실행하는 호스트는 HTTP/S 프록시 서버를 사용하더라도 DNS로 공개 호스트명을 확인할 수 있어야 합니다.

GitLab 인스턴스에서 GitLab Duo로의 아웃바운드 연결 허용#

  • GitLab 애플리케이션 노드는 HTTP/2를 통해 https://duo-workflow-svc.runway.gitlab.net에서 GitLab Duo Workflow에 연결할 수 있어야 합니다. 애플리케이션과 서비스는 gRPC로 통신합니다.

  • GitLab Duo 에이전트 플랫폼 기능을 위해 방화벽 및 HTTP/S 프록시 서버는 https://를 사용하여 포트 443에서 duo-workflow-svc.runway.gitlab.net로의 아웃바운드 연결과 HTTP/2 트래픽 지원을 허용해야 합니다.

  • 인스턴스가 HTTP/S 프록시 서버를 통해 연결하는 경우, 호스트는 여전히 DNS로 공개 호스트명을 확인할 수 있어야 합니다. 호스트명을 프록시 서버를 통해서만 확인할 수 있는 경우 GitLab Duo 헬스 체크, GitLab Credits 대시보드, GitLab Duo 에이전트 플랫폼과 같은 GitLab Duo 기능이 타임아웃되거나 실패할 수 있습니다. 자세한 내용은 이슈 602538을 참조하세요.

  • AI 기능은 오래 유지되는 HTTP 연결을 통해 응답을 스트리밍합니다. 최대 요청 지속 시간 또는 유휴 시간 초과를 적용하는 HTTP/S 프록시 서버나 방화벽은 오류 없이 긴 응답을 중단시킬 수 있습니다. 경로상의 다른 구성 요소보다 더 긴 시간 초과 값으로 프록시를 구성하세요.

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

GitLab 인스턴스는 IDE 클라이언트로부터의 인바운드 연결을 허용해야 합니다.

  • 다음 헤더를 포함한 WebSocket 프로토콜 업그레이드 요청을 허용합니다:

Connection: upgrade

  • Upgrade: websocket

  • HTTP/2 프로토콜 지원

  • 표준 WebSocket 보안 헤더: Sec-WebSocket-*

  • wss:// (WebSocket Secure) 프로토콜 지원을 활성화합니다.

  • 허용할 특정 엔드포인트를 추가합니다:

기본 엔드포인트: wss://<customer-instance>/-/cable

  • HTTP/2 프로토콜이 HTTP/1.1로 다운그레이드되지 않도록 합니다.

  • 포트: 443 (HTTPS/WSS)

문제가 발생하는 경우:

  • wss://gitlab.example.com/-/cable 및 기타 .com 도메인에 대한 WebSocket 트래픽 제한을 확인합니다.

  • Apache와 같은 리버스 프록시를 사용하는 경우 로그에서 GitLab Duo Chat 연결 문제(예: WebSocket connection to …. failures)가 발생할 수 있습니다.

이 문제를 해결하려면 프록시 설정을 편집합니다:

# Enable WebSocket reverse Proxy
# Needs proxy_wstunnel enabled
  RewriteCond %{HTTP:Upgrade} websocket [NC]
  RewriteCond %{HTTP:Connection} upgrade [NC]
  RewriteRule ^/?(.*) "ws://127.0.0.1:8181/$1" [P,L]

러너로부터의 연결 허용#

플로우와 같이 러너를 사용하는 GitLab Duo 에이전트 플랫폼 기능의 경우, 러너가 GitLab 인스턴스에 연결할 수 있어야 합니다.

클라이언트에서 GitLab 인스턴스로의 인바운드 연결과 동일한 연결이 러너에서 GitLab 인스턴스로의 아웃바운드 연결로 허용되어야 합니다.

또한, 러너는 다음에 연결할 수 있어야 합니다:

Destination Port Purpose
registry.npmjs.org 443 Download the Duo CLI package at runtime
registry.gitlab.com 443 Download the default Docker image (unless using a custom image)

조직에서 공개 npm 레지스트리 접근을 허용할 수 없는 경우, 필요한 종속성이 이미 설치된 사용자 정의 Docker 이미지를 사용할 수 있습니다.

러너의 GitLab Duo 에이전트 플랫폼 서비스 연결은 GitLab 인스턴스를 통해 라우팅됩니다. 러너는 duo-workflow-svc.runway.gitlab.net에 직접 연결하지 않습니다. 포트 443duo-workflow-svc.runway.gitlab.net에 대한 방화벽 요구 사항은 러너가 아니라 GitLab 인스턴스에 적용됩니다. 러너 네트워크 구성은 GitLab 인스턴스로의 아웃바운드 HTTPS 트래픽을 허용해야 합니다.

GitLab과 사용 데이터 공유#

History

  • GitLab 18.9.1에서 도입됨.

서비스 품질 향상을 위해 GitLab Duo 에이전트 플랫폼 기능에 대한 사용 데이터를 GitLab과 공유할 수 있습니다.

데이터 수집을 켜면 GitLab이 GitLab Duo 기능 사용에 대한 정보를 기록합니다. 이 데이터는 서비스 개선 및 디버깅에만 사용되며 AI 모델 훈련에는 사용되지 않습니다.

수집되는 데이터에 대한 자세한 내용은 에이전트 플랫폼 사용 데이터를 참조하세요.

필수 요건:

  • GitLab 18.9.1 이상이 있어야 합니다.

확장 로깅을 켜려면:

  • 오른쪽 상단 모서리에서 관리자를 선택합니다.

  • 왼쪽 사이드바에서 GitLab Duo를 선택합니다.

  • 구성 변경을 선택합니다.

  • 사용 데이터 수집 체크박스를 선택합니다.

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

자체 호스팅 모델을 사용하는 데이터 사용#

자체 호스팅 AI 게이트웨이 및 자체 호스팅 모델을 사용하는 경우 자세한 로그가 인프라에 저장되며 GitLab과 공유되지 않습니다. GitLab과 데이터를 공유하려면 외부 관찰 가능성 서비스에 추적을 보내도록 자체 호스팅 AI Gateway를 구성해야 합니다.

Service Ping을 사용하여 사용 데이터를 GitLab에 보낼 수 있습니다. 이 데이터는 텔레메트리 데이터와 다릅니다.

GitLab Duo 헬스 체크 실행#

  • Status: Beta
    

History

인스턴스가 GitLab Duo 사용 요구 사항을 충족하는지 확인할 수 있습니다. 헬스 체크가 완료되면 통과 또는 실패 결과와 문제 유형이 표시됩니다. 헬스 체크가 테스트 중 하나라도 실패하면 사용자가 인스턴스에서 GitLab Duo 기능을 사용하지 못할 수 있습니다.

이것은 베타 기능입니다.

필수 요건:

  • 관리자여야 합니다.

헬스 체크를 실행하려면:

  • 오른쪽 상단 모서리에서 관리자를 선택합니다.

  • 왼쪽 사이드바에서 GitLab Duo를 선택합니다.

  • 오른쪽 상단 모서리에서 헬스 체크 실행을 선택합니다.

  • 선택 사항. GitLab 17.5 이상에서 헬스 체크가 완료된 후 보고서 다운로드를 선택하여 헬스 체크 결과의 자세한 보고서를 저장할 수 있습니다.

다음 테스트가 수행됩니다:

Test Description
AI Gateway GitLab Duo Self-Hosted 모델만 해당. AI Gateway URL이 환경 변수로 구성되어 있는지 테스트합니다. 이 연결은 AI Gateway를 사용하는 자체 호스팅 모델 배포에 필요합니다.
Network 인스턴스가 customers.gitlab.com 및 cloud.gitlab.com에 연결할 수 있는지 테스트합니다.인스턴스가 어느 대상에도 연결할 수 없는 경우, 방화벽 또는 프록시 서버 설정이 연결을 허용하는지 확인합니다.
Synchronization 구독이 다음을 충족하는지 테스트합니다: - 활성화 코드로 활성화되었고 customers.gitlab.com과 동기화할 수 있습니다.- 올바른 액세스 자격 증명을 가지고 있습니다.- 최근에 동기화되었습니다. 그렇지 않거나 액세스 자격 증명이 없거나 만료된 경우 구독 데이터를 수동으로 동기화할 수 있습니다.
Code Suggestions GitLab Duo Self-Hosted 모델만 해당. Code Suggestions를 사용할 수 있는지 테스트합니다: - 라이선스에 Code Suggestions 액세스가 포함되어 있습니다.- 기능을 사용하는 데 필요한 권한이 있습니다.
GitLab Duo Agent Platform 백엔드 서비스가 작동 중이고 접근 가능한지 테스트합니다. 이 서비스는 에이전트 플랫폼 및 GitLab Duo Agentic Chat과 같은 에이전트 기능에 필요합니다.GitLab Duo Self-Hosted의 경우 GitLab Duo 에이전트 플랫폼 기능에 대한 자체 호스팅 모델을 선택해야 이 테스트가 통과됩니다.또한 다음 기초 플로우 필수 요건을 확인합니다:- 인스턴스 수준 플로우 실행 설정이 활성화되어 있습니다.- 인스턴스 수준 기초 플로우 설정이 활성화되어 있습니다.- gitlab--duo 태그가 있고 Docker 호환 실행기를 사용하는 활성 인스턴스 러너가 최소 하나 이상 등록 및 연결되어 있습니다.
System exchange 인스턴스에서 Code Suggestions를 사용할 수 있는지 테스트합니다. 시스템 교환 평가가 실패하면 사용자가 GitLab Duo 기능을 사용하지 못할 수 있습니다.

버전 17.10 이전의 GitLab 인스턴스에서 헬스 체크에 문제가 발생하는 경우 트러블슈팅 페이지를 참조하세요.

기타 호스팅 옵션#

기본적으로 GitLab Duo는 지원되는 AI 벤더 언어 모델을 사용하며 GitLab에서 호스팅하는 클라우드 기반 AI Gateway를 통해 데이터를 보냅니다.

자체 언어 모델 또는 AI Gateway를 호스팅하려는 경우:

GitLab Dedicated for Government#

GitLab Dedicated for Government의 경우 FedRAMP 승인 모델이 있는 GitLab Duo Self-Hosted를 사용해야 합니다. 클라우드 기반 AI Gateway 및 벤더 모델은 GitLab Dedicated for Government에서 사용할 수 없습니다.

자세한 내용은 GitLab Dedicated for Government에서 GitLab Duo 구성을 참조하세요.

관련 주제#

GitLab Duo 구성

GitLab v19.2
원문 보기
요약

DETAILS: Offering: GitLab Self-Managed, GitLab Dedicated for Government GitLab Duo는 소프트웨어 개발 라이프사이클 전반에 걸쳐 도움을 주는 AI 네이티브 어시스턴트입니다.

DETAILS: Offering: GitLab Self-Managed, GitLab Dedicated for Government

GitLab Duo는 소프트웨어 개발 라이프사이클 전반에 걸쳐 도움을 주는 AI 네이티브 어시스턴트입니다.

GitLab Duo를 다음과 같이 사용하도록 구성할 수 있습니다:

  • 클라우드 기반 AI Gateway(기본값): GitLab 호스팅 AI Gateway와 벤더 언어 모델.

  • 자체 호스팅 모델: 데이터와 보안을 완전히 제어하기 위한 자체 AI Gateway 및 언어 모델.

  • 하이브리드 구성: 일부 기능에는 자체 호스팅 모델을, 다른 기능에는 클라우드 기반 모델을 사용.

필수 요건#

라이선스 키는 사용할 수 없습니다.

  • 오프라인 라이선스로는 GitLab Duo를 사용할 수 없습니다. GitLab Duo Self-Hosted는 예외입니다.

  • 인스턴스를 실행하는 호스트는 HTTP/S 프록시 서버를 사용하더라도 DNS로 공개 호스트명을 확인할 수 있어야 합니다.

GitLab 인스턴스에서 GitLab Duo로의 아웃바운드 연결 허용#

  • GitLab 애플리케이션 노드는 HTTP/2를 통해 https://duo-workflow-svc.runway.gitlab.net에서 GitLab Duo Workflow에 연결할 수 있어야 합니다. 애플리케이션과 서비스는 gRPC로 통신합니다.

  • GitLab Duo 에이전트 플랫폼 기능을 위해 방화벽 및 HTTP/S 프록시 서버는 https://를 사용하여 포트 443에서 duo-workflow-svc.runway.gitlab.net로의 아웃바운드 연결과 HTTP/2 트래픽 지원을 허용해야 합니다.

  • 인스턴스가 HTTP/S 프록시 서버를 통해 연결하는 경우, 호스트는 여전히 DNS로 공개 호스트명을 확인할 수 있어야 합니다. 호스트명을 프록시 서버를 통해서만 확인할 수 있는 경우 GitLab Duo 헬스 체크, GitLab Credits 대시보드, GitLab Duo 에이전트 플랫폼과 같은 GitLab Duo 기능이 타임아웃되거나 실패할 수 있습니다. 자세한 내용은 이슈 602538을 참조하세요.

  • AI 기능은 오래 유지되는 HTTP 연결을 통해 응답을 스트리밍합니다. 최대 요청 지속 시간 또는 유휴 시간 초과를 적용하는 HTTP/S 프록시 서버나 방화벽은 오류 없이 긴 응답을 중단시킬 수 있습니다. 경로상의 다른 구성 요소보다 더 긴 시간 초과 값으로 프록시를 구성하세요.

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

GitLab 인스턴스는 IDE 클라이언트로부터의 인바운드 연결을 허용해야 합니다.

  • 다음 헤더를 포함한 WebSocket 프로토콜 업그레이드 요청을 허용합니다:

Connection: upgrade

  • Upgrade: websocket

  • HTTP/2 프로토콜 지원

  • 표준 WebSocket 보안 헤더: Sec-WebSocket-*

  • wss:// (WebSocket Secure) 프로토콜 지원을 활성화합니다.

  • 허용할 특정 엔드포인트를 추가합니다:

기본 엔드포인트: wss://<customer-instance>/-/cable

  • HTTP/2 프로토콜이 HTTP/1.1로 다운그레이드되지 않도록 합니다.

  • 포트: 443 (HTTPS/WSS)

문제가 발생하는 경우:

  • wss://gitlab.example.com/-/cable 및 기타 .com 도메인에 대한 WebSocket 트래픽 제한을 확인합니다.

  • Apache와 같은 리버스 프록시를 사용하는 경우 로그에서 GitLab Duo Chat 연결 문제(예: WebSocket connection to …. failures)가 발생할 수 있습니다.

이 문제를 해결하려면 프록시 설정을 편집합니다:

# Enable WebSocket reverse Proxy
# Needs proxy_wstunnel enabled
  RewriteCond %{HTTP:Upgrade} websocket [NC]
  RewriteCond %{HTTP:Connection} upgrade [NC]
  RewriteRule ^/?(.*) "ws://127.0.0.1:8181/$1" [P,L]

러너로부터의 연결 허용#

플로우와 같이 러너를 사용하는 GitLab Duo 에이전트 플랫폼 기능의 경우, 러너가 GitLab 인스턴스에 연결할 수 있어야 합니다.

클라이언트에서 GitLab 인스턴스로의 인바운드 연결과 동일한 연결이 러너에서 GitLab 인스턴스로의 아웃바운드 연결로 허용되어야 합니다.

또한, 러너는 다음에 연결할 수 있어야 합니다:

Destination Port Purpose
registry.npmjs.org 443 Download the Duo CLI package at runtime
registry.gitlab.com 443 Download the default Docker image (unless using a custom image)

조직에서 공개 npm 레지스트리 접근을 허용할 수 없는 경우, 필요한 종속성이 이미 설치된 사용자 정의 Docker 이미지를 사용할 수 있습니다.

러너의 GitLab Duo 에이전트 플랫폼 서비스 연결은 GitLab 인스턴스를 통해 라우팅됩니다. 러너는 duo-workflow-svc.runway.gitlab.net에 직접 연결하지 않습니다. 포트 443duo-workflow-svc.runway.gitlab.net에 대한 방화벽 요구 사항은 러너가 아니라 GitLab 인스턴스에 적용됩니다. 러너 네트워크 구성은 GitLab 인스턴스로의 아웃바운드 HTTPS 트래픽을 허용해야 합니다.

GitLab과 사용 데이터 공유#

History

  • GitLab 18.9.1에서 도입됨.

서비스 품질 향상을 위해 GitLab Duo 에이전트 플랫폼 기능에 대한 사용 데이터를 GitLab과 공유할 수 있습니다.

데이터 수집을 켜면 GitLab이 GitLab Duo 기능 사용에 대한 정보를 기록합니다. 이 데이터는 서비스 개선 및 디버깅에만 사용되며 AI 모델 훈련에는 사용되지 않습니다.

수집되는 데이터에 대한 자세한 내용은 에이전트 플랫폼 사용 데이터를 참조하세요.

필수 요건:

  • GitLab 18.9.1 이상이 있어야 합니다.

확장 로깅을 켜려면:

  • 오른쪽 상단 모서리에서 관리자를 선택합니다.

  • 왼쪽 사이드바에서 GitLab Duo를 선택합니다.

  • 구성 변경을 선택합니다.

  • 사용 데이터 수집 체크박스를 선택합니다.

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

자체 호스팅 모델을 사용하는 데이터 사용#

자체 호스팅 AI 게이트웨이 및 자체 호스팅 모델을 사용하는 경우 자세한 로그가 인프라에 저장되며 GitLab과 공유되지 않습니다. GitLab과 데이터를 공유하려면 외부 관찰 가능성 서비스에 추적을 보내도록 자체 호스팅 AI Gateway를 구성해야 합니다.

Service Ping을 사용하여 사용 데이터를 GitLab에 보낼 수 있습니다. 이 데이터는 텔레메트리 데이터와 다릅니다.

GitLab Duo 헬스 체크 실행#

  • Status: Beta
    

History

인스턴스가 GitLab Duo 사용 요구 사항을 충족하는지 확인할 수 있습니다. 헬스 체크가 완료되면 통과 또는 실패 결과와 문제 유형이 표시됩니다. 헬스 체크가 테스트 중 하나라도 실패하면 사용자가 인스턴스에서 GitLab Duo 기능을 사용하지 못할 수 있습니다.

이것은 베타 기능입니다.

필수 요건:

  • 관리자여야 합니다.

헬스 체크를 실행하려면:

  • 오른쪽 상단 모서리에서 관리자를 선택합니다.

  • 왼쪽 사이드바에서 GitLab Duo를 선택합니다.

  • 오른쪽 상단 모서리에서 헬스 체크 실행을 선택합니다.

  • 선택 사항. GitLab 17.5 이상에서 헬스 체크가 완료된 후 보고서 다운로드를 선택하여 헬스 체크 결과의 자세한 보고서를 저장할 수 있습니다.

다음 테스트가 수행됩니다:

Test Description
AI Gateway GitLab Duo Self-Hosted 모델만 해당. AI Gateway URL이 환경 변수로 구성되어 있는지 테스트합니다. 이 연결은 AI Gateway를 사용하는 자체 호스팅 모델 배포에 필요합니다.
Network 인스턴스가 customers.gitlab.com 및 cloud.gitlab.com에 연결할 수 있는지 테스트합니다.인스턴스가 어느 대상에도 연결할 수 없는 경우, 방화벽 또는 프록시 서버 설정이 연결을 허용하는지 확인합니다.
Synchronization 구독이 다음을 충족하는지 테스트합니다: - 활성화 코드로 활성화되었고 customers.gitlab.com과 동기화할 수 있습니다.- 올바른 액세스 자격 증명을 가지고 있습니다.- 최근에 동기화되었습니다. 그렇지 않거나 액세스 자격 증명이 없거나 만료된 경우 구독 데이터를 수동으로 동기화할 수 있습니다.
Code Suggestions GitLab Duo Self-Hosted 모델만 해당. Code Suggestions를 사용할 수 있는지 테스트합니다: - 라이선스에 Code Suggestions 액세스가 포함되어 있습니다.- 기능을 사용하는 데 필요한 권한이 있습니다.
GitLab Duo Agent Platform 백엔드 서비스가 작동 중이고 접근 가능한지 테스트합니다. 이 서비스는 에이전트 플랫폼 및 GitLab Duo Agentic Chat과 같은 에이전트 기능에 필요합니다.GitLab Duo Self-Hosted의 경우 GitLab Duo 에이전트 플랫폼 기능에 대한 자체 호스팅 모델을 선택해야 이 테스트가 통과됩니다.또한 다음 기초 플로우 필수 요건을 확인합니다:- 인스턴스 수준 플로우 실행 설정이 활성화되어 있습니다.- 인스턴스 수준 기초 플로우 설정이 활성화되어 있습니다.- gitlab--duo 태그가 있고 Docker 호환 실행기를 사용하는 활성 인스턴스 러너가 최소 하나 이상 등록 및 연결되어 있습니다.
System exchange 인스턴스에서 Code Suggestions를 사용할 수 있는지 테스트합니다. 시스템 교환 평가가 실패하면 사용자가 GitLab Duo 기능을 사용하지 못할 수 있습니다.

버전 17.10 이전의 GitLab 인스턴스에서 헬스 체크에 문제가 발생하는 경우 트러블슈팅 페이지를 참조하세요.

기타 호스팅 옵션#

기본적으로 GitLab Duo는 지원되는 AI 벤더 언어 모델을 사용하며 GitLab에서 호스팅하는 클라우드 기반 AI Gateway를 통해 데이터를 보냅니다.

자체 언어 모델 또는 AI Gateway를 호스팅하려는 경우:

GitLab Dedicated for Government#

GitLab Dedicated for Government의 경우 FedRAMP 승인 모델이 있는 GitLab Duo Self-Hosted를 사용해야 합니다. 클라우드 기반 AI Gateway 및 벤더 모델은 GitLab Dedicated for Government에서 사용할 수 없습니다.

자세한 내용은 GitLab Dedicated for Government에서 GitLab Duo 구성을 참조하세요.

관련 주제#