前言:
1:jenkins安装、mysql安装不在此文档中;
2:操作系统centos 7.6
3:SonarQube的2种配置方式
4:jenkins版本为2.190.3(LTS),SonarQube版本为6.7.7(LTS)
5:Jenkins/SonarQube使用普通用户运行
正文:
第一步:安装jenkins:安装jenkins(含配置java环境),此处不再写,有兴趣的可以参考本号之前的文章
第二步:安装sonar-scanner-cli,与SonarQube6.7.7搭配使用的版本是sonar-scanner-cli-4.2.0.1873.zip;
安装很简单,解压,配置默认
jenkins中配置sonar-scanner-cli全局变量:
配置全局工具
第三步:安装SonarQube;
1:解压sonarqube-6.7.7.zip;
2:修改配置文件/apps/sonarqube/conf/sonar.properties;
修改其中的数据库信息及主机IP信息,其他有关配置根据实际情况配置(调整java参数/配置单独的ES等),此处使用默认自动elasticsearch
mysql数据库信息
修改JDK,绑定web主机
3:将SonarQube的文件夹属性拥有者修改为普通用户rjzx;并使用该用户启动
###重要:由于使用默认elasticsearch,该程序不允许使用root用户运行,所有SonarQube只能使用普通用户运行,否则无法启动
启动命令:sonarqube-6.7.7/bin/linux-x86-64/sonar.sh start
4:访问SonarQube主页:http://IP:9000
默认登录用户名密码admin/admin
默认打开页面
登录
下面3个图片初次登录会生成一个token
请将这张图片右侧的命令复制记录到本地,很重要
由于该版本的汉化程度不够好,不建议切换到中文语言
jenkins配置sonarqube执行任务有2种方式:第一种直接使用maven的命令产生结果,再使用sonarqube网页来单独访问;第二种就是利用SonarQube插件嵌入到jenkins,直接在jenkins中点击链接访问。各自优劣大家自己判断。现在来介绍一下两种方式的配置方式
第一种:直接将SonarQube的参数命令嵌入到mven生命周期中,还记得上面记住的那串和token值相关的命令吗?现在就能用,在jenkins的job中配置maven的目标,看图
重新build job,然后通过SonarQube的地址http://IP:9000访问就OK
第二种:相对来说就比较复杂;
1):jenkins安装插件:SonarQube Scanner for Jenkins
插件
2):jenkins-全局配置SonarQube信息
配置sonarqube-server信息
secret里边填写上面文档中的token值
###重要:由于该token是用明文存储的,暂时无解决方案,jenkins会有告警
3):Job中新增SonarQube插件配置
配置内容
4:)job配置该插件后,job视图会发生变化
新增sonarqube标志
点击该SonarQube链接,进入到SonarQube-Server的网页界面,查看各种信息
SonarQube的Job界面
配置完成!
如果你看到该文章觉得还行,请动动手指关注一下,谢谢!