Repository X-Ray
- GitLab 16.7에서 소개되었습니다.
Repository X-Ray은 GitLab Duo Code Suggestions를 향상시켜 코드 권장 사항의 정확도와 관련성을 높이기 위해 추가적인 컨텍스트를 제공합니다.
Repository X-Ray는 프로젝트의 코드베이스와 의존성에 대한 더 많은 통찰력을 제공하여 더 나은 코드 제안을 생성하기 위해 코드 어시스턴트에게 도움을 줍니다. 이를 위해 Gemfile.lock
, package.json
, go.mod
와 같은 주요 프로젝트 구성 파일을 분석하여 추가적인 컨텍스트를 구축합니다.
Repository X-Ray는 사용 중인 프레임워크, 라이브러리 및 기타 의존성을 이해하여 코드 어시스턴트가 프로젝트에서 사용된 코딩 패턴, 스타일 및 기술과 일치하는 제안을 제공하는 데 도움을 줍니다. 이로 인해 해당 스택에 대한 더 매끄럽게 통합되며 해당 스택의 모범 관행를 따르는 코드 권장 사항이 결정됩니다.
지원되는 언어 및 패키지 관리자
언어 | 패키지 관리자 | 구성 파일 |
---|---|---|
Go | Go Modules | go.mod
|
JavaScript | NPM, Yarn | package.json
|
Ruby | RubyGems | Gemfile.lock
|
Python | Poetry | pyproject.toml
|
Python | Pip | requirements.txt
|
Python | Conda | environment.yml
|
PHP | Composer | composer.json
|
Java | Maven | pom.xml
|
Java | Gradle | build.gradle
|
Kotlin | Gradle | build.gradle.kts
|
C# | NuGet | *.csproj
|
C/C++ | Conan | conanfile.txt
|
C/C++ | Conan | conanfile.py
|
C/C++ | vcpkg | vcpkg.json
|
Repository X-Ray 활성화
전제 조건:
- 프로젝트에서 GitLab Duo Code Suggestions에 액세스해야 합니다.
- 프로젝트에 대한 GitLab Runner를 설정하고 활성화해야 합니다. 왜냐하면 Repository X-Ray는 GitLab Runner를 사용하여 분석 파이프라인을 실행합니다.
Repository X-Ray를 활성화하려면 프로젝트의 .gitlab-ci.yml
에 다음 정의 작업을 추가하세요.
xray:
stage: build
image: registry.gitlab.com/gitlab-org/code-creation/repository-x-ray:latest
allow_failure: true
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
OUTPUT_DIR: reports
script:
- x-ray-scan -p "$CI_PROJECT_DIR" -o "$OUTPUT_DIR"
artifacts:
reports:
repository_xray: "$OUTPUT_DIR/*/*.json"
-
$OUTPUT_DIR
환경 변수는 다음을 정의합니다:- 보고서를 위한 출력 디렉터리
- 아티팩트가 업로드된 경로
- 추가된 규칙은 작업을 기본 브랜치에만 제한합니다. 이처럼 작업을 제한함으로써 개발 변경 사항이 제품 코드 제안에 영향을 미치지 않도록 합니다.
최초의 x-ray 작업이 완료되고 리포지터리 분석 보고서를 업로드한 후 추가 조치가 필요하지 않습니다. Repository X-Ray는 그 이후부터 모든 코드 생성 요청을 자동으로 향상합니다.
프로젝트의 X-Ray 데이터는 xray
작업을 포함하는 CI/CD 파이프라인이 실행될 때마다 업데이트됩니다. 파이프라인 구성 및 트리거에 대해 자세히 알아보려면 파이프라인 문서를 참조하세요.