前提:已搭建sonarqube
1、配置sonarqube server
jenkins 中manage jenkins-configure System配置sonarqube server
2、准备sonar环境
在jenkins项目的构建环境步骤中,勾选prepare SonarQube environment
token需要提前在凭据里添加一个token
3、执行sonar扫描
在构建步骤添加execute sonarqube scanner,填写projectkey,name,language和sonar源
4、将sonar扫描结果与jenkins构建状态关联
方法一:使用sonarqube quality gates插件
Sonar Quality Gates | Jenkins plugin
1)安装插件
2)在全局配置处进行配置。
https://www.cnblogs.com/carlvine/p/12605926.html
需要在sonarqube平台创建一个token,
3)
这个设置意思是当sonar扫描出来的项目,没有通过质量阀时,即扫描状态为ERROR时,会使jenkins的构建任务为失败状态。
运行jenkins任务
这里我用这个插件运行后为失败,没有找到解决办法。
方法二:
在jenkins的任务构建处execute shell,调用sonar webapi接口,读取sonar项目状态,如果是ERROR,则异常退出,jenkins任务失败。
调用sonar webapi的方法可以看文章:sonarqube上的webAPI如何调用?-暴躁了一天调通了_东方不败之鸭梨的测试笔记的博客-CSDN博客
运行jenkins任务,sonar quality gates fail,jenkins任务失败。