InfoGrab Docs

Code Suggestions와 함께 사용하는 Repository X-Ray

Repository X-Ray는 Code Suggestions에 프로젝트 코드베이스와 의존성에 대한 더 많은 인사이트를 제공합니다.

히스토리 GitLab 16.7에서 도입 되었습니다. GitLab 17.6 이상에서 GitLab Duo 애드온이 필요하도록 변경되었습니다. Repository X-Ray는 자동으로 다음을 보강합니다: 코드 권장 사항의 정확성과 관련성을 향상하기 위해 프로젝트의 의존성에 대한 추가 컨텍스트를 제공하여 GitLab Duo Code Suggestions 에 대한 코드 생성 요청. 코드 리팩토링 , 코드 수정 , 테스트 작성 요청. 이를 위해 Repository X-Ray는 다음을 통해 코드 어시스턴트에 프로젝트의 코드베이스와 의존성에 대한 더 많은 인사이트를 제공합니다: 의존성 관리자 구성 파일(예: Gemfile.lock , package.json , go.mod ) 검색. 해당 파일 내용에서 라이브러리 목록 추출. 추출된 목록을 코드 생성, 코드 리팩토링, 코드 수정, 테스트 작성 요청에서 GitLab Duo Code Suggestions에서 사용할 추가 컨텍스트로 제공. 사용 중인 라이브러리 및 기타 의존성을 이해함으로써 Repository X-Ray는 코드 어시스턴트가 프로젝트에서 사용되는 코딩 패턴, 스타일 및 기술에 맞게 제안을 맞춤화할 수 있도록 돕습니다. 이를 통해 더 원활하게 통합되고 주어진 스택의 모범 사례를 따르는 코드 제안이 생성됩니다. Note Repository X-Ray는 코드 완성 요청이 아닌 코드 생성 요청만 향상시킵니다. Repository X-Ray 작동 방식 # 히스토리 최대 라이브러리 수가 GitLab 17.6에서 도입 되었습니다. 프로젝트의 기본 브랜치에 새 커밋을 push하면 Repository X-Ray가 백그라운드 job을 트리거합니다. 이 job은 저장소에서 해당 구성 파일을 스캔하고 파싱합니다. 일반적으로 각 프로젝트에서 한 번에 하나의 스캔 job만 실행됩니다. 스캔이 이미 진행 중인 동안 두 번째 스캔이 트리거되면 두 번째 스캔은 첫 번째 스캔이 완료될 때까지 기다린 후 실행됩니다. 이로 인해 최신 구성 파일 데이터가 파싱되어 데이터베이스에 업데이트되기 전에 약간의 지연이 발생할 수 있습니다. 코드 생성 요청이 이루어지면 파싱된 데이터에서 최대 300개의 라이브러리가 추가 컨텍스트로 프롬프트에 포함됩니다. Repository X-Ray 활성화 # 히스토리 GitLab 17.4에서 ai_enable_internal_repository_xray_service 라는 플래그 와 함께 도입 되었습니다. 기본적으로 비활성화되어 있습니다. GitLab 17.6에서 일반적으로 사용 가능 해졌습니다. 기능 플래그 ai_enable_internal_repository_xray_service 가 제거되었습니다. 프로젝트가 GitLab Duo Code Suggestions 에 접근할 수 있는 경우 Repository X-Ray 서비스가 자동으로 활성화됩니다. 지원되는 언어 및 의존성 관리자 # Repository X-Ray는 저장소 루트에서 최대 두 디렉토리 수준을 검색합니다. 예를 들어 Gemfile.lock ,