GitLab Duo 구성
GitLab Duo는 소프트웨어 개발 라이프사이클 전반에 걸쳐 도움을 주는 AI 네이티브 어시스턴트입니다. GitLab Duo를 다음과 같이 사용하도록 구성할 수 있습니다: GitLab 인스턴스는 IDE 클라이언트로부터의 인바운드 연결을 허용해야 합니다.
GitLab Duo는 소프트웨어 개발 라이프사이클 전반에 걸쳐 도움을 주는 AI 네이티브 어시스턴트입니다.
GitLab Duo를 다음과 같이 사용하도록 구성할 수 있습니다:
- 클라우드 기반 AI Gateway(기본값): GitLab 호스팅 AI Gateway와 벤더 언어 모델.
- 자체 호스팅 모델: 데이터와 보안을 완전히 제어하기 위한 자체 AI Gateway 및 언어 모델.
- 하이브리드 구성: 일부 기능에는 자체 호스팅 모델을, 다른 기능에는 클라우드 기반 모델을 사용.
필수 요건#
- Silent Mode가 꺼져 있습니다.
- 인스턴스가 활성화 코드로 활성화되어 있습니다.
- 라이선스 키는 사용할 수 없습니다.
- 오프라인 라이선스로는 GitLab Duo를 사용할 수 없습니다. GitLab Duo Self-Hosted는 예외입니다.
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 트래픽 지원을 허용해야 합니다.
클라이언트에서 GitLab 인스턴스로의 인바운드 연결 허용#
GitLab 인스턴스는 IDE 클라이언트로부터의 인바운드 연결을 허용해야 합니다.
- 다음 헤더를 포함한 WebSocket 프로토콜 업그레이드 요청을 허용합니다:
Connection: upgradeUpgrade: websocketHTTP/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 인스턴스로의 아웃바운드 연결로 허용되어야 합니다.
또한, 러너는 다음에 연결할 수 있어야 합니다:
| 대상 | 포트 | 목적 |
|---|---|---|
registry.npmjs.org |
443 |
런타임에 Duo CLI 패키지 다운로드 |
registry.gitlab.com |
443 |
기본 Docker 이미지 다운로드 (사용자 정의 이미지 사용 시 제외) |
조직에서 공개 npm 레지스트리 접근을 허용할 수 없는 경우, 필요한 종속성이 이미 설치된 사용자 정의 Docker 이미지를 사용할 수 있습니다.
GitLab과 사용 데이터 공유#
히스토리
- 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 헬스 체크 실행#
히스토리
- GitLab 17.3에서 도입됨.
- GitLab 17.5에서 헬스 체크 보고서 다운로드 추가됨.
인스턴스가 GitLab Duo 사용 요구 사항을 충족하는지 확인할 수 있습니다. 헬스 체크가 완료되면 통과 또는 실패 결과와 문제 유형이 표시됩니다. 헬스 체크가 테스트 중 하나라도 실패하면 사용자가 인스턴스에서 GitLab Duo 기능을 사용하지 못할 수 있습니다.
이것은 베타 기능입니다.
필수 요건:
- 관리자여야 합니다.
헬스 체크를 실행하려면:
- 오른쪽 상단 모서리에서 관리자를 선택합니다.
- 왼쪽 사이드바에서 GitLab Duo를 선택합니다.
- 오른쪽 상단 모서리에서 헬스 체크 실행을 선택합니다.
- 선택 사항. GitLab 17.5 이상에서 헬스 체크가 완료된 후 보고서 다운로드를 선택하여 헬스 체크 결과의 자세한 보고서를 저장할 수 있습니다.
다음 테스트가 수행됩니다:
| 테스트 | 설명 |
|---|---|
| AI Gateway | GitLab Duo Self-Hosted 모델만 해당. AI Gateway URL이 환경 변수로 구성되어 있는지 테스트합니다. 이 연결은 AI Gateway를 사용하는 자체 호스팅 모델 배포에 필요합니다. |
| 네트워크 | 인스턴스가 customers.gitlab.com 및 cloud.gitlab.com에 연결할 수 있는지 테스트합니다.인스턴스가 어느 대상에도 연결할 수 없는 경우, 방화벽 또는 프록시 서버 설정이 연결을 허용하는지 확인합니다. |
| 동기화 | 구독이 다음을 충족하는지 테스트합니다: - 활성화 코드로 활성화되었고 customers.gitlab.com과 동기화할 수 있습니다.- 올바른 액세스 자격 증명을 가지고 있습니다. - 최근에 동기화되었습니다. 그렇지 않거나 액세스 자격 증명이 없거나 만료된 경우 구독 데이터를 수동으로 동기화할 수 있습니다. |
| Code Suggestions | GitLab Duo Self-Hosted 모델만 해당. Code Suggestions를 사용할 수 있는지 테스트합니다: - 라이선스에 Code Suggestions 액세스가 포함되어 있습니다. - 기능을 사용하는 데 필요한 권한이 있습니다. |
| GitLab Duo 에이전트 플랫폼 | 백엔드 서비스가 작동 중이고 접근 가능한지 테스트합니다. 이 서비스는 에이전트 플랫폼 및 GitLab Duo 에이전틱 Chat과 같은 에이전트 기능에 필요합니다. |
| 시스템 교환 | 인스턴스에서 Code Suggestions를 사용할 수 있는지 테스트합니다. 시스템 교환 평가가 실패하면 사용자가 GitLab Duo 기능을 사용하지 못할 수 있습니다. |
버전 17.10 이전의 GitLab 인스턴스에서 헬스 체크에 문제가 발생하는 경우 트러블슈팅 페이지를 참조하세요.
기타 호스팅 옵션#
기본적으로 GitLab Duo는 지원되는 AI 벤더 언어 모델을 사용하며 GitLab에서 호스팅하는 클라우드 기반 AI Gateway를 통해 데이터를 보냅니다.
자체 언어 모델 또는 AI Gateway를 호스팅하려는 경우:
- GitLab Duo Self-Hosted를 사용하여 AI Gateway를 호스팅하고 지원되는 자체 호스팅 모델을 사용할 수 있습니다. 이 옵션은 데이터와 보안을 완전히 제어합니다.
- 하이브리드 구성을 사용하여 일부 기능에는 자체 AI Gateway 및 모델을 호스팅하고 다른 기능은 GitLab AI Gateway 및 벤더 모델을 사용하도록 구성합니다.
