GitLab Duo 가용성 제어
- GitLab 16.10에서 추가된 AI 기능 끄는 설정.
- UI에 AI 기능을 끄는 설정이 추가됨 - GitLab 16.11.
일반적으로 이용 가능한 GitLab Duo 기능은 액세스 권한이 있는 모든 사용자에게 자동으로 활성화됩니다.
필수 조건
- 자체 호스트형 GitLab을 사용하는 경우:
- 자체 호스트형 인스턴스에서 Duo GitLab 구성을 허용해야 합니다.
- Silent Mode를 사용하지 않아야 합니다.
- 활성화 코드로 인스턴스 활성화해야 합니다.
- GitLab Duo는 최상의 사용자 경험과 결과를 위해 GitLab 17.2 이상에서 필요합니다. 이전 버전은 계속 작동할 수 있지만 경험은 떨어질 수 있습니다.
- GitLab Dedicated를 사용하는 경우 GitLab Duo Pro 또는 Enterprise를 보유해야 합니다.
- Code Suggestions와 같은 일부 일반적으로 이용 가능한 기능을 사용하려면 사용자에게 할당해야 합니다.
실험적 또는 베타 상태인 GitLab Duo 기능은 기본적으로 비활성화되며 활성화해야 합니다.
자체 호스트형 인스턴스에서 GitLab Duo 구성
자체 호스트형 인스턴스에서 GitLab Duo를 사용하려면 내부 및 외부 연결이 모두 존재해야 합니다.
예를 들어, 네트워크 방화벽은 지연이나 지연을 일으킬 수 있습니다. 내부 및 외부 설정을 확인하세요:
GitLab 인스턴스로부터 외부 연결 허용
- 방화벽 및 HTTP/S 프록시 서버가
https://
의 포트443
에서cloud.gitlab.com
및customers.gitlab.com
으로의 외부 연결을 허용해야 합니다. 이러한 호스트는 Cloudflare에 의해 보호됩니다. 방화벽 설정을 업데이트하여 Cloudflare가 게시하는 IP 주소 목록의 모든 IP 주소로의 트래픽을 허용하세요. - HTTP/S 프록시를 사용하려면
gitLab_workhorse
및gitLab_rails
에 필요한 웹 프록시 환경 변수가 설정되어 있어야 합니다. - 다중 노드 GitLab 설치의 경우 모든 Rails 및 Sidekiq 노드에서 HTTP/S 프록시를 구성하세요.
클라이언트로부터 GitLab 인스턴스로의 인바운드 연결 허용
- GitLab 인스턴스는 Duo 클라이언트(IDEs, 코드 편집기 및 GitLab 웹 프론트엔드)로부터
https://
및wss://
의 포트443
에서 인바운드 연결을 허용해야 합니다. -
HTTP2
및'upgrade'
헤더가 허용되어야 합니다. 왜냐하면 GitLab Duo는 REST 및 웹소켓을 모두 사용합니다. -
.com
도메인에 대한wss://gitlab.example.com/-/cable
및 다른.com
도메인에 대한 WebSocket(wss://
) 트래픽에 대한 제한 사항을 확인하세요.wss://
트래픽에 대한 네트워크 정책 제한으로 인해 일부 GitLab Duo 채팅 서비스에 문제가 발생할 수 있습니다. 이러한 서비스를 허용하기 위해 정책을 업데이트하세요. - Apache와 같은 역방향 프록시를 사용하는 경우, 로그에서 WebSocket connection to …. failures와 같은 GitLab Duo 채팅 연결 문제가 발생할 수 있습니다.
이 문제를 해결하려면 Apache 프록시 설정을 편집해보세요:
# WebSocket 역방향 프록시 활성화
# proxy_wstunnel 활성화 필요
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://127.0.0.1:8181/$1" [P,L]
GitLab Duo의 헬스 체크 실행
세부정보: 제공: 자체 호스트형, GitLab Dedicated 티어: 프리미엄, 얼티메이트 상태: 베타
GitLab Duo를 사용할 수 있는지의 요구 사항을 충족하는지 테스트하기 위해 헬스 체크를 실행하세요. 헬스 체크가 완료되면 통과 또는 실패 결과와 문제의 유형이 표시됩니다. 헬스 체크에서 테스트 중에 실패하면 사용자가 인스턴스에서 GitLab Duo 기능을 사용할 수 없을 수 있습니다.
이 기능은 베타 버전입니다.
필수 조건:
- 관리자여야 합니다.
헬스 체크를 실행하려면:
- 왼쪽 사이드바에서 관리자를 선택하세요.
- GitLab Duo를 선택하세요.
- 오른쪽 상단에서 헬스 체크 실행을 선택하세요.
헬스 체크 테스트
인스턴스가 GitLab Duo를 사용하기 위한 요구 사항을 충족하는지 확인하기 위해 헬스 체크에서 온라인 및 오프라인 환경에 대한 테스트를 수행합니다.
온라인 환경용
테스트 | 설명 |
---|---|
네트워크 | 인스턴스가 customers.gitlab.com 및 cloud.gitlab.com 에 연결할 수 있는지 테스트합니다.인스턴스가 두 목적지 중 하나에 연결할 수 없는 경우 방화벽이나 프록시 서버 설정이 연결을 허용해야 합니다. |
동기화 | 구독이 다음을 테스트합니다: - activation code 로 활성화되었으며 customers.gitlab.com 과 동기화될 수 있는지.- 올바른 액세스 자격 증명을 가지고 있는지. - 최근에 동기화되었는지. 그렇지 않은 경우 또는 액세스 자격 증명이 누락되거나 만료된 경우 구독 데이터를 수동으로 동기화할 수 있습니다. |
시스템 교환 | 인스턴스에서 Code Suggestions를 사용할 수 있는지 테스트합니다. 시스템 교환 평가에 실패하면 사용자가 GitLab Duo 기능을 사용할 수 없을 수 있습니다. |
오프라인 환경용
테스트 | 설명 |
---|---|
네트워크 | 환경 변수 AI_GATEWAY_URL 이 유효한 URL로 설정되었는지 테스트합니다.- 인스턴스가 AI_GATEWAY_URL 에서 지정된 URL에 연결할 수 있는지 테스트합니다.만약 인스턴스가 URL에 연결할 수 없는 경우 방화벽이나 프록시 서버 설정이 연결을 허용해야 합니다. |
라이센스 | 라이센스가 Code Suggestions 기능에 액세스할 수 있는 능력이 있는지 테스트합니다. |
시스템 교환 | 인스턴스에서 Code Suggestions를 사용할 수 있는지 테스트합니다. 시스템 교환 평가에 실패하면 사용자가 GitLab Duo 기능을 사용할 수 없을 수 있습니다. |
GitLab Duo 기능 끄기
그룹, 프로젝트 또는 인스턴스에서 GitLab Duo를 끌 수 있습니다.
그룹, 프로젝트 또는 인스턴스의 GitLab Duo가 꺼져 있을 때:
- 코드, 이슈 및 취약점과 같은 리소스에 접근하는 GitLab Duo 기능을 사용할 수 없습니다.
- 코드 제안 기능을 사용할 수 없습니다.
하지만, GitLab Duo 채팅은 다르게 작동합니다. GitLab Duo를 끄면:
- 그룹 또는 프로젝트의 경우:
- 여전히 GitLab Duo 채팅에서 질문을 할 수 있습니다. 질문은 GitLab에 대해 묻거나 코드에 대한 일반적인 질문 등과 같이 일반적인 것이어야 합니다. GitLab Duo 채팅은 그룹이나 프로젝트 리소스에 접근하지 않으며 그에 대한 질문을 거절합니다.
- 인스턴스의 경우:
- GitLab Duo 채팅 버튼이 UI의 어디에서도 사용할 수 없습니다.
그룹에서 끄기
GitLab 17.4 이상에서는 그룹 및 해당 하위 그룹 및 프로젝트에 대해 GitLab Duo를 끄는 방법을 확인하려면 다음 지침을 따르세요.
사전 조건:
- 그룹에 대해 소유자 역할이 있어야 합니다.
그룹의 GitLab Duo를 끄려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾으세요.
- 설정 > 일반을 선택하세요.
- GitLab Duo 기능을 확장하세요.
- 옵션을 선택하세요:
- 그룹의 GitLab Duo를 끄고 다른 그룹 또는 프로젝트가 켤 수 있도록하려면 기본적으로 끄기를 선택하세요.
- 그룹의 GitLab Duo를 끄고 다른 그룹 또는 프로젝트가 다시 켜지는 것을 방지하려면 절대 사용 안 함을 선택하세요.
- 변경 사항 저장을 선택하세요.
GitLab 17.3 및 이전 버전에서는 그룹 및 해당 하위 그룹과 프로젝트에 대해 GitLab Duo를 끄는 방법을 확인하려면 다음 지침을 따르세요.
프로젝트에서 끄기
GitLab 17.4 이상에서는 프로젝트에 대해 GitLab Duo를 끄는 방법을 확인하려면 다음 지침을 따르세요.
사전 조건:
- 프로젝트에 대해 소유자 역할이 있어야 합니다.
프로젝트의 GitLab Duo를 끄려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.
- 설정 > 일반을 선택하세요.
- 가시성, 프로젝트 기능, 권한을 확장하세요.
- GitLab Duo 아래에서 토글을 끄세요.
- 변경 사항 저장을 선택하세요.
GitLab 17.3 및 이전 버전에서는 프로젝트에 대해 GitLab Duo를 끄는 방법을 확인하려면 다음 지침을 따르세요.
- GitLab GraphQL API를 사용하세요
projectSettingsUpdate
변형. -
duo_features_enabled
설정을false
로 설정하세요. (기본값은true
입니다.)
인스턴스에서 끄기
GitLab 17.4 이상에서는 인스턴스에 대해 GitLab Duo를 끄는 방법을 확인하려면 다음 지침을 따르세요.
사전 조건:
- 관리자여야 합니다.
인스턴스의 GitLab Duo를 끄려면:
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택하세요.
- 설정 > 일반을 선택하세요.
- GitLab Duo 기능을 확장하세요.
- 옵션을 선택하세요:
- 인스턴스의 GitLab Duo를 끄고 그룹 및 프로젝트가 켤 수 있도록 하려면 기본적으로 끄기를 선택하세요.
- 인스턴스의 GitLab Duo를 끄고 그룹 또는 프로젝트가 다시 켜지는 것을 방지하려면 절대 사용 안 함을 선택하세요.
- 변경 사항 저장을 선택하세요.
GitLab 17.3 및 이전 버전에서는 인스턴스에 대해 GitLab Duo를 끄는 방법을 확인하려면 다음 지침을 따르세요.
- 왼쪽 사이드바에서 맨 아래에서 관리를 선택하세요.
- 설정 > 일반을 선택하세요.
- AI 기반 기능을 확장하세요.
- Duo 기능 사용 확인란을 선택해제하세요.
- 필요에 따라 모든 하위 그룹에 대해 강제하기 확인란을 선택하여 인스턴스 내의 모든 그룹에 설정을 연쇄적으로 적용할 수 있습니다.
참고: 특정 그룹 또는 프로젝트에 대해 설정을 무시하도록 하는 것을 관리자가 허용하는 이슈가 있습니다.
베타 및 실험 기능 켜기
실험 및 베타인 GitLab Duo 기능은 기본적으로 꺼져 있습니다. 이러한 기능은 테스트 동의서의 영향을 받습니다.
GitLab.com에서
GitLab 17.4 이상에서는 GitLab.com의 그룹에 대해 실험 및 베타인 GitLab Duo 기능을 켜는 방법을 확인하려면 다음 지침을 따르세요.
사전 조건:
- 최상위 그룹에 대해 소유자 역할이 있어야 합니다.
최상위 그룹의 경우 GitLab Duo 실험 및 베타 기능을 켜려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾으세요.
- 설정 > 일반을 선택하세요.
- GitLab Duo 기능을 확장하세요.
- GitLab Duo 미리 보기 기능 아래에서 실험 및 베타 GitLab Duo 기능 사용을 선택하세요.
- 변경 사항 저장을 선택하세요.
GitLab 17.3 및 이전 버전에서는 GitLab.com의 그룹에 대해 실험 및 베타인 GitLab Duo 기능을 켜는 방법을 확인하려면 다음 지침을 따르세요.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾으세요.
- 설정 > 일반을 선택하세요.
- 권한 및 그룹 기능을 확장하세요.
- GitLab Duo 실험 및 베타 기능 아래에서 실험 및 베타 GitLab Duo 기능 사용 확인란을 선택하세요.
- 변경 사항 저장을 선택하세요.
이 설정은 그룹에 속하는 모든 프로젝트에 적용 됩니다.
셀프 매니지먼트
GitLab 17.4 이후에는 다음 지침을 따라 셀프 매니지먼트 인스턴스에 대해 GitLab Duo 실험 및 베타 기능을 활성화할 수 있습니다.
전제 조건:
- 관리자여야 합니다.
인스턴스에 대해 GitLab Duo 실험 및 베타 기능을 활성화하려면:
- 왼쪽 사이드바에서 가장 아래쪽에 있는 관리 영역(Admin area)을 선택합니다.
- 설정 > 일반(General)을 선택합니다.
- GitLab Duo 기능을 확장합니다.
- GitLab Duo 미리보기 기능 아래에서 GitLab Duo 실험 및 베타 기능 사용을 선택합니다.
- 변경 사항 저장을 선택합니다.
GitLab Duo 채팅이 아직 일반적으로 사용 가능하지 않은 GitLab 버전에서 GitLab Duo 베타 및 실험적 기능을 활성화하려면 GitLab Duo 채팅 설명서를 참조하십시오.
문제 해결
셀프 매니지먼트에서 GitLab Duo 기능이 작동하지 않음
GitLab Duo 기능을 활성화하는 것 외에도 다음을 수행할 수 있습니다.
- 관리자로서 GitLab Duo의 헬스 체크를 실행합니다.
-
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"
-
구독 데이터를 수동으로 동기화합니다.
- GitLab 인스턴스가 GitLab과 구독 데이터를 동기화하는지 확인합니다.
사용자를 위한 GitLab Duo 기능을 사용할 수 없음
GitLab Duo 기능을 활성화하는 것 외에도 다음을 수행할 수 있습니다.
- 구독 시트를 구매했는지 확인합니다.
- 시트가 사용자에게 할당되었는지 확인합니다.
-
GitLab Duo 확장 기능을 사용하는 IDE 사용자를 위해:
- 확장 기능이 최신 상태인지 확인합니다.
- 확장 설정 헬스체크를 실행하고 인증을 테스트합니다.