sonarqube集成jenkins

可以两种方式集成:直接在构建的时候执行扫描命令分析报告,插件形式集成。

sonarqube配置

  • sonar-scanner安装(jenkins服务器安装,也可自动安装)
1
2
3
4
5
6
7
8
9
10
11
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.0.0.1744-linux.zip
unzip sonar-scanner-cli-4.0.0.1744-linux.zip -d /data
mv sonar-scanner-cli-4.0.0.1744-linux sonar-scanner

# 添加环境变量
cat > /etc/profile.d/sonar-scanner.sh <<EOF
export PATH=$PATH:/data/sonar-scanner/bin
EOF
source /etc/profile.d/sonar-scanner.sh
# 测试
sonar-scanner -h
  • sonarqube web配置项目
1
2
3
4
5
6
7
8
9
10
11
project -> Create new project
# 创建projectKey和projectName
liyk-tomcat
# Provide a token,Generate a token
liyk-tomcat: 0ec647d8c7533a1bdb4a7fc02192a590120501b9

# 选择构建环境,此处用maven
mvn sonar:sonar \
-Dsonar.projectKey=liyk-tomcat \
-Dsonar.host.url=http://45.192.182.122:9000 \
-Dsonar.login=0ec647d8c7533a1bdb4a7fc02192a590120501b9

jenkins集成

  • 安装sonarqube插件

    1
    2
    插件:SonarQube Scanner
    插件:Quality Gate
  • 获取sonarqube的token

    1
    2
    上面配置sonarqube时创建项目已生成一个liyk-tomcat的token。
    可在qonarqube的Administration-> Security -> Users -> Administrator
  • jenkins连接sonarqube

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
jenkins里
# SonarQube servers
系统管理 -> 系统配置 -> SonarQube servers
可勾选:Enable injection of SonarQube server configuration as build environment variables
Add Sonarqube: Name、ServerURL;添加Server authentication token

# 添加凭据,如果上面的 添加无反应,则在系统管理下的 凭据管理 里手动添加(域,添加凭据)
类型:Secret text
范围:全局
Secret:0ec647d8c7533a1bdb4a7fc02192a590120501b9

#再去配置里添加上刚创建的凭据
Server authentication token

# Quality Gates,此处不设置会提示,Quality Gate: Failed
Name、SonarQube Server URL、SonarQube account login、SonarQube account password (此处添加当前网络环境能登录SonarQube的url和账户信息)

应用、保存退出
  • 全局工具配置
    1
    2
    SonarQube Scanner
    可自动安装,手动安装需填写对应路径。

jenkins项目配置sonarqube

mark
mark

  • 构建环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
勾选:Prepare SonarQube Scanner environment
Server authentication token 选择刚创建的凭据:liyk-tomcat,有叹号告警不用管

# Pre Steps
选择:Execute SonarQube Scanner,添加Analysis properties

sonar.projectKey=liyk-tomcat
sonar.projectName=${JOB_NAME}
sonar.projectVersion=${git_version}-${BUILD_ID}

sonar.language=java
sonar.sourceEncoding=UTF-8

sonar.sources=$WORKSPACE
#sonar.java.binaries=$WORKSPACE

mark

sonarqube核验

mark

2种sonar-scanner方式进行代码质检
  • 通过sonar-scanner方式进行质检(推荐这种)

    1
    2
    3
    项目配置
    Pre Steps > 添加Excute SonarQube Scanner
    JDK
  • 通过maven方式进行代码质检

    1
    2
    3
    4
    5
    6
    7
    8
    9
    项目配置
    Pre Steps > 调用顶层Maven目标
    Maven版本:maven
    目标:如下
    clean
    verity
    sonar:sonar
    -Dsonar.host.url=http://192.168.100.4:9000
    -Dsonar.login=zxver235398dgjdgsfsdg # token
-------------本文结束感谢您的阅读-------------
原创技术分享,感谢您的支持。