Jenkins SonarQube进行代码质量检查(学习笔记二十九)

简介: 转载:http://www.cnblogs.com/helloIT/p/6684247.html1.目标之前已经写过一篇关于Jenkins和SonarQube的一篇博客《jenkins集成sonar》,本文在参考前文的基础上,做了详细的补充。

转载:http://www.cnblogs.com/helloIT/p/6684247.html

1.目标

之前已经写过一篇关于Jenkins和SonarQube的一篇博客《jenkins集成sonar》,本文在参考前文的基础上,做了详细的补充。

  使用SonarQube进行代码质量检查,访问SonarQube Server,可以查看代码质量检查报告。

2.环境说明

  jdk:sun JDK1.8.0_20 64bit

  MySQL:5.7.13

sonarqube-5.6.zip(链接: https://pan.baidu.com/s/1miRtGog 密码: k3qn)

sonar-scanner-2.6.1.zip(链接: https://pan.baidu.com/s/1nvuNFw1 密码: 9gac)

Jenkins sonar插件——sonar-2.6.hpi(链接: https://pan.baidu.com/s/1kVulJmB 密码: yyqq)

SonarQube汉化插件——sonar-l10n-zh-plugin-1.11.jar(链接: https://pan.baidu.com/s/1hstBTjA 密码: pb4m)

①Jenkins系列文档自本篇起JDK版本采用sun jdk8+ 。

②SonarQube依赖条件详细参考SonarQube官方文档

3.前置工作

3.1 jdk8+的安装

  略。

3.2 MySQL的安装及建立sonar专用database

  安装过程略。

使用如下语句建立database:

createdatabasesonardefaultcharset=utf8;

3.3 配置sonarqube-server

  进入sonarqube-server安装目录  >> conf目录,编辑sonar.properties文件:

img_370ed2df49790d7b3e76261a38b216ee.png

3.4 配置sonarqube-runner

  进入sonarqube-runner安装目录  >> conf目录,编辑sonar-scanner.properties文件:

img_c46b42c922b362c9c9109df6b583ef52.png

笔者后来在安装当前最新版本(6.3.1)时,发现sonar-runner还必须加如下配置:

sonar.login=admin

sonar.password=admin

注:admin/admin是sonar的管理员初始登录账号密码。

最终sonar-runner的配置如下:

img_69aa7771bb18a3a3190048b4b998d663.png

3.5 验证SonarQube是否安装成功

  启动sonarqube-server:

img_cd8fa49420fddd4759baa8b20d355d7e.png

访问http://localhost:9000

①在windows下启动失败请尝试用『以管理员身份运行』。

②如果SonarQube用的比较多,可以设置为服务。如此便不用每次都启动。

③在Jenkins中调用sonar,前提仍然是sonarqube-server已启动。

3.6 验证sonar-runner【可选】

  (1)设置SONAR_RUNNER_HOME环境变量,值为sonar-runner安装位置

  (2)设置path环境变量,增加 ;%SONAR_RUNNER_HOME%\bin

  (3)新建sonar-project.properties文件,增加以下内容:

img_9ae7564ddb9903194ae1614ebbb02bf1.png

  (4)进入源码位置,在控制台中执行sonar runner命令,看能够构建成功。

3.7 安装jenkins的sonar插件

方式一:通过上传sonar-*.hpi文件的方式安装,在没网络的情况下可能还要手动处理依赖插件。

方式二:在jenkins的『插件管理』中搜索sonar插件安装。

4.Jenkins配置

4.1 配置jdk

   进入『系统管理』 >> 『Global Tool Configurationa』,配置如下:

img_d58121265c9961a4ad84169d924dec4b.png

从此篇文章起,jdk版本变成了1.8+。如果jdk一开始就是1.8+,此步配置应省略。

4.2 配置sonar-server

  进入『系统管理』 >> 『系统设置』,配置如下:

img_0d9057fc07cf021661ba3d169543103c.png


4.3 配置sonar-runner

  进入『系统管理』 >> 『Global Tool Configurationa』,配置如下:

img_ad1960cad963eed1ff186bfb270c9684.png


4.4 新建并配置job【自由风格】

  (1)配置sonar-project.properties,详见本文3.6 步骤(3)。最终效果如下:

img_682488d7aab7b1958a2cb8d255b425af.png

  (2)配置job

img_e796796914bb0a9c7f87c4e243acf4ed.gif

这里源码使用了码云的zheng项目,直接放到了该作业工作区的src目录之下。

5.构建结果

  控制台输出如下:

img_af2e4061316c9b4e576247243a66e001.png


返回作业,能看到sonarqube检查结果的链接图标:

img_4256abd60529c77567f585cf504b1ffb.png

   点击接图标,可以看到该次构建结果:

img_b14924e69915471b2e4b6926967d21c5.png

SonarQube汉化请参考《SonarQube中文插件安装》。

6.总结

①SonarQube 需要JDK 和 数据库 的支持。在选择前需要阅读官方文档选择合适的版本。

②SonarQube 是一个独立的软件,不是一定要和jenkins 扯上联系,因此完全可以先独立验证SonarQube的可用性,再利用sonar插件和jenkins关联。

③SonarQube 需要对sonar-server 做配置才能进一步使用。扫描项目时需要提供项目的配置文件。

目录
相关文章
|
11天前
|
jenkins Java 持续交付
Gitee+Jenkins+SonarQube代码上线的实战操作
通过以上步骤,就可以实现基于Gitee、Jenkins和SonarQube的代码上线流程,确保代码的质量和上线过程的自动化和可控性。在实际操作中,可以根据项目的具体需求和环境进行适当的调整和优化。
|
3月前
|
jenkins 持续交付
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
|
3月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
3月前
|
JSON jenkins 持续交付
jenkins学习笔记之四:jenkins常用pipline DSL方法
jenkins学习笔记之四:jenkins常用pipline DSL方法
|
3月前
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
|
3月前
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
3月前
|
前端开发 jenkins 持续交付
jenkins学习笔记之二十:docker in docker运行pipeline
jenkins学习笔记之二十:docker in docker运行pipeline
|
3月前
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
3月前
|
jenkins 持续交付
jenkins学习笔记之十八:nexus制品获取及晋级
jenkins学习笔记之十八:nexus制品获取及晋级
|
3月前
|
Java jenkins 持续交付
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
jenkins学习笔记之十七:使用插件及maven上传制品到nexus