我们使用sonarqube在使用jenkins的CI/CD管道中进行代码质量检查。我正在扫描我的代码并执行质量门检查。基于成功或失败,管道继续或停止。我想检查质量门状态的新代码在最后提交,而不是整个扫描结果。我如何在管道中实现这一点?有什么建议吗?
ukdjmx9f1#
如果我是正确,你的意思是你需要分析你的源代码真实的时间与任何推动从开发商的权利?如果你需要这样的东西,你必须在Git中使用钩子脚本并在那里修改钩子脚本。对于任何来自开发人员的推送,你必须根据Git中推送请求的哈希提交将源代码放在临时分支中,然后为了进行分析,你需要在钩子脚本中调用Sonarqube作业,并将临时分支名称作为参数发送给Sonarqube作业。
mftmpeh82#
我不是Sonarqube方面的Maven,但是如果你没有通过完整的代码库,包括新的修改,它将被视为一个完全的“新项目”。为了提供QG中定义的指标趋势的准确图片,Sonar必须对代码库进行整体评估。话虽如此,一些指标,如代码覆盖率,可以在您的QG中设置为仅适用于新代码。
2条答案
按热度按时间ukdjmx9f1#
如果我是正确,你的意思是你需要分析你的源代码真实的时间与任何推动从开发商的权利?
如果你需要这样的东西,你必须在Git中使用钩子脚本并在那里修改钩子脚本。对于任何来自开发人员的推送,你必须根据Git中推送请求的哈希提交将源代码放在临时分支中,然后为了进行分析,你需要在钩子脚本中调用Sonarqube作业,并将临时分支名称作为参数发送给Sonarqube作业。
mftmpeh82#
我不是Sonarqube方面的Maven,但是如果你没有通过完整的代码库,包括新的修改,它将被视为一个完全的“新项目”。
为了提供QG中定义的指标趋势的准确图片,Sonar必须对代码库进行整体评估。
话虽如此,一些指标,如代码覆盖率,可以在您的QG中设置为仅适用于新代码。