持续集成 四、Sonar 系列之 Jenkins 集成 sonar

机械师 · 2023年06月20日 · 4367 次阅读

四、Sonar 系列之 Jenkins 集成 sonar

一、简介

sonarqube 支持集成到 CI 工具中,如 Jenkins, Azure DevOps server 等,我们以 Jenkins 为例;

二、配置

sonarqube 可以集成到项目的部署流程中,也可以单独部署,此处因需要,我们使用的是单独部署,不影响项目的部署流程;

在 Jenkins>Manage jenkins>Manage Plugins 中搜索 sonarqube,安装 SonarQube Scanner for Jenkins 插件;

重启 Jenkins 后,在 Manage jenkins>Global Tool Configuration 中配置 Sonarquebe Scanner

在 sonarqube 页面中,点击用户头像,点击我的账号;在新页面中,点击 “安全” table,输入令牌名称,点击生成,生成令牌文件;此令牌文件用于 Jenkins 和 sonarqube 通信的安全验证,且此令牌内容只显示一次,及时保存在其他文本中,避免遗失;

在 Jenkins 中配置 sonarqube server

Manage jenkins>Configure system,新增 sonarqube server 服务;

其中,token 需要使用 secret text 类型的凭据,将 sonarqube 生成的令牌粘贴到 Secret 中;

三、使用

目标:可自由选择分支,手动选择要分析的项目分支;

创建一个 freestyle 的项目,名称自定义,在项目配置中进行如下配置

1,分支选择配置,如下图

如果没有此选项,需要安装 Git Parameter 插件;

2,配置 git

3,配置 build

#sonar 工程标识,随意输入不重复有代表意义即可

sonar.projectKey=bi_build_sonar

#sonar 工程标识,随意输入不重复有代表意义即可

sonar.projectName=bi_build_sonar

#sonar 工程版本号

sonar.projectVersion=1.0

# 源代码路径,依据需要可在 $WORKSPACE 后加入目标路径,缩小分析范围;

sonar.sources=$WORKSPACE

#class 文件路径,依据需要可在 $WORKSPACE 后加入目标路径,缩小分析范围;

sonar.java.binaries=$WORKSPACE

4,执行

点击 build with parameters,选择分支,点击 build;

分析完成,点击 SonarQube,即可进入 sonarqube 服务中,查看代码分析的结果;

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册