fileA
上有master
(说它由1000行组成)
我们在feature_branch
,其中fileA
的长度为1050行。
在我们的CI管道上,我们正在运行coverage
(它是一个Python项目),它生成coverage.xml
,用作SQ的cov输入。
我们的SQ预览阶段如下:
- git config --global user.name "SonarQube"
- git config --global user.email "sonarqube@somedomain.com"
- git checkout origin/master
- git merge $CI_BUILD_REF --no-commit --no-ff
- sonar-scanner -Dsonar.analysis.mode=preview -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.login=$SONARQUBE_TOKEN -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
except:
- master@mainprojectnamespace
问题如下:
AFTER 合并后,fileA
最终拥有(再次)1000行
但,coverage
在合并中运行之前(在之前的作业中),因此它包含行>的结果1000(合并后fileA
的长度)
这导致(我相信)以下错误:
ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Line 1040 is out of range in the file path/to/fileA.py (lines: 1000)
我们如何解决这个问题?
答案 0 :(得分:2)