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 파이프라인이 실행될 때마다 업데이트됩니다. 파이프라인 구성 및 트리거에 대해 자세히 알아보려면 파이프라인 문서를 참조하세요.