InfoGrab Docs

코드 품질 문제 해결

코드 품질 문제 해결에 대해 설명합니다.

코드 품질 작업 시 다음 문제가 발생할 수 있습니다. 코드를 찾을 수 없으며 파이프라인이 항상 기본 구성으로 실행됨 # Docker-in-Docker 소켓 바인딩 구성의 프라이빗 러너를 사용하고 있을 가능성이 높습니다. 프라이빗 러너 사용 에 문서화된 대로 워커에서 코드 품질 검사를 실행하도록 구성해야 합니다. 기본 구성 변경이 효과가 없음 # 흔한 문제는 Code Quality (GitLab 관련)와 Code Climate (GitLab이 사용하는 엔진)라는 용어가 매우 유사하다는 것입니다. 기본 구성을 변경하려면 .codequality.yml 이 아닌 .codeclimate.yml 파일을 추가해야 합니다. 잘못된 파일 이름을 사용하면 기본 .codeclimate.yml 이 계속 사용됩니다. 머지 리퀘스트에 코드 품질 보고서가 표시되지 않음 # 소스 또는 대상 브랜치의 코드 품질 보고서가 머지 리퀘스트에서 비교용으로 누락되어 정보를 표시할 수 없을 수 있습니다. 소스 브랜치의 보고서 누락은 다음으로 인한 것일 수 있습니다: REPORT_STDOUT 환경 변수 사용 - 보고서 파일이 생성되지 않고 머지 리퀘스트에 아무것도 표시되지 않습니다. 대상 브랜치의 보고서 누락은 다음으로 인한 것일 수 있습니다: .gitlab-ci.yml 에 새로 추가된 코드 품질 잡. 파이프라인이 대상 브랜치에서 코드 품질 잡을 실행하도록 설정되어 있지 않습니다. 코드 품질 잡을 실행하지 않는 커밋이 기본 브랜치에 만들어집니다. artifacts:expire_in CI/CD 설정으로 인해 코드 품질 아티팩트가 원하는 것보다 빨리 만료될 수 있습니다. 머지 리퀘스트 API 를 사용하여 base_sha 를 얻고 sha 속성이 있는 파이프라인 API 를 사용하여 파이프라인이 실행되었는지 확인하여 기본 커밋에 보고서가 있는지 확인합니다. 변경 사항 보기에 코드 품질 기호 없음 # 변경 사항 보기 에 기호가 표시되지 않으면 코드 품질 보고서의 location.path 가 다음을 확인합니다: 코드 품질 위반이 포함된 파일에 대한 상대 경로를 사용합니다. ./ 로 시작하지 않습니다. 예를 들어 path 는 ./somedir/file1.rb 대신 somedir/file1.rb 여야 합니다. 단일 코드 품질 보고서만 표시되지만 더 많이 정의됨 # 코드 품질은 자동으로 여러 보고서를 결합 합니다. GitLab 15.6 이전에는 코드 품질이 최신 생성된 잡(가장 큰 잡 ID를 가진)의 아티팩트만 사용했습니다. 이전 잡의 코드 품질 아티팩트는 무시되었습니다. RuboCop 오류 # Ruby 프로젝트에서 코드 품질 잡을 사용할 때 RuboCop 실행에 문제가 발생할 수 있습니다. 예를 들어 매우 최신 또는 매우 오래된 버전의 Ruby를 사용할 때 다음 오류가 발생할 수 있습니다: /usr/local/bundle/gems/rubocop-0.52.1/lib/rubocop/config.rb:510:in `check_target_ruby': Unknown Ruby version 2.7 fou