Jenkins:整合SonarQube8


安装Sonarqube8

前提:sonarqube8需要jdk11的环境

yum install -y java-11-openjdk

去官网上下载对应的zip包,放到服务器中,我这里直接放到/root目录下

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.6.0.39681.zip

unzip sonarqube-8.6.0.39681.zip
mkdir /opt/sonar
mv sonarqube-8.6.0.39681/* /opt/sonar/
useradd sonar
chown -R sonar. /opt/sonar
su sonar
#使用默认配置,如有需要,可使用oracle,postgresql等数据库而不是保存sonarqube数据
/opt/sonar/bin/linux-x86-64/sonar.sh start

查看sonarqube日志:

tail -100f /opt/sonar/logs/sonar-20201230.log

image-20201230193853452

启动成功后,sonarqube默认web页面访问9000端口,默认账号密码都是admin,修改默认密码,进入首页:

image-20201230195220380

生成令牌:

点击头像,安全一栏下:输入令牌名称(任意字符串),我这里写成token,点击生成

image-20201230200527791

保存生成的token,后面jenkins连接sonarqube需要使用。

jenkins整合sonarqube

jenkins安装sonarqube scanner插件

image-20201230195747292

安装完成重启后,配置sonar的凭证信息:选择secrect text,secrect填入上一步sonarqube生成的token,点击确定

image-20201230200724325

点击进入系统配置,找到sonarqube server,添加sonar凭证和server url(sonarqube web页面访问路径)

image-20201230201037637

点击全局工具配置,新增一个sonarqube scanner,点击保存

image-20201230213232429

Sonarqube代码审查

非流水线项目

对非流水线项目添加sonarqube scan的步骤

image-20201230201316347

配置一些信息:注意task to run需要填入scan

image-20201230212048765

sonar.projectKey=test01
sonar.projectName=test01
sonar.projectVersion=1.0

sonar.sources=.
#sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=target

sonar.java.source=1.8
sonar.java.target=1.8

sonar.sourceEncoding=UTF-8

点击保存,然后build now,等待构建完成后,进入sonarqube,发现审查结果已经出来了

image-20201230202653252

故意写一点冗余代码,观察sonarqube结果:

image-20201230211136046

image-20201230212129135

流水线项目审查代码

项目根目录创建一个sonar-project.properties文件,文件内容与刚才一样

sonar.projectKey=web_pipeline
sonar.projectName=web_pipeline
sonar.projectVersion=1.0

sonar.sources=.
#sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=target

sonar.java.source=1.8
sonar.java.target=1.8

sonar.sourceEncoding=UTF-8

image-20201230212457622

配置Jenkinsfile:注意箭头指出的名字要对应上

image-20201230213657853

修改完成后提交,然后构建流水线项目,观察结果:流水线项目成功被sonarqube审查

image-20201230214201030


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM