jenkins集成sonarqube 做代码的静态检查

目录

        1、安装sonarqube

        2、容器化运行jenkins

        3、sonarqube 新建项目,jenkins做sonarqube相关的配置

        4、jenkins 新建流水线任务中添加sonarqube静态检查步骤

一、安装sonarqube

1.1、介绍

Sonar是一个用于代码质量管理的开源平台,用于管理代码的质量,通过插件形式可以支持二十几种语言的代码质量检测,通过多个维度的检查了快速定位代码中潜在的或者明显的错误。

SonarQube与Sonar区别:

SonarQube是sonar的服务端,相当于一个web服务器中的tomcat,用来发布应用,在线浏览分析等。

1.2、环境介绍:

1. Ubuntu 18.04

2. openJDK 17+(注意,不是1.7)

3. sonarqube-10.0.0.68432

1.3、安装 openJDK

先输入 java -version 看看系统有没有安装,openJDK

 如果和上面显示不一样,那就是没有安装,先看看仓库里面的 openJDK 版本

JDK 17 可以支持目前所有的elasticsearch 版本,所以推荐这个版本

1

2

sudo apt-cache search openjdk     

sudo apt install openjdk-17-jdk

 再次输入   java -version   就应该和步骤1一样,显示 openJDK版本了。

1.4、安装 SonarQube

1.4.1 下载

https://www.sonarqube.org/downloads/   这里下载 " 社区版 "

1.4.2 解压

下载好的文件,解压到任意,没有中文的目录

1.4.3 启动

根据系统平台,选择启动目录,这里是 Linux 就进入,

1

2

cd sonarqube-10.0.0.68432/bin/linux-x86-64/

$ ./sonar.sh

 这个命令执行后,启动需要过程。

注意:

        运行./sonar.sh 时,需要在非root账号下,不然es会启动失败。因为是非root账号,这时候  运行脚本会有权限问题,可以root账号进入的sonarqube解压缩路径下,然后执行

        chown -R 非root账号:非root账号 *

 1.4.4 查看是否有 9000 端口启动

1

netstat -an |grep 9000

如何排错:

        1、如果发现9000端口未启动,则检查sonar.log日志,在sonarqube解压缩文件下的logs目录中

        2、sonar.log 如果设置elasticsearch 启动失败的报错,则查看es.log,可以查看es启动失败的原因

        3、重启sonarqube 服务时,可以通过 ps -ef | grep elastic 查看es服务进程,先把es进程杀死,再运行sonar  (./sonar.sh start)

        4、最新的sonar 中集成了 es,所以不用再单独安装es了,可以观察解压后路径中文件,找到es的执行路径
       

 1.4.5 查看WEB界面

默认账号:admin    密码: admin  , 登录成功后会强制要求更改密码

1.4.6 重启、关闭 服务

方法一:用脚本自带的启停功能

方法二:可以在启动脚本下,看到一个 pid 后缀的文件,里面就是 pid ,kill  -9 pid  即可;也可以关闭 java

1.4.7 修改默认 9000 端口

在 conf 目录下, 编辑 sonar.properties 文件

1.4.8 安装汉化插件    

(官方或github 访问不通畅,可以用这个  点击下载 sonar-l10n-zh-plugin-10.0.zip  72kb  )

Administrator --> Marketplace  --> chinese  -->  install (如果没有install 字样,在下图红色圆圈处,有"我同意",先点击一下)

二、容器化运行jenkins

参考CSDN

三、sonarqube 新建项目,jenkins做sonarqube相关的配置

3.1、web 访问:ip:9000,sonarqube 新建项目

3.2、保存sonar的token

进入创建token页面

手动生成一个token

!!!这个token 一定要保存下来,只显示一次,保存在一个自己的本地文件中

3.3、jenkins做sonarqube相关的配置

参考:Jenkins集成SonarQube代码质量检测_jenkins集成sonar代码检查-CSDN博客

3.3.1 jenkins 安装sonar-scanner 插件

jenkins 插件管理中搜索sonar-scanner插件点击安装,安装后重启jenkins

3.3.2 添加jenkins的全局凭据

这里面的secret 填写的是3.2 图中生成的sonar的token

3.3.3 jenkins系统管理中添加系统配置

3.3.4 下载SonarScanner,并解压到容器中,记住解压路径

下载地址:SonarScanner CLI

3.3.5 jenkins 全局工具配置

3.3.6 Sonar 中配置Webhook

四、jenkins 新建流水线任务中添加sonarqube静态检查步骤


创建一个流水线job,流水线pipeline script如下编写:

pipeline {
    agent any
 
    stages {
        stage('拉取代码') {
            steps {
                拉仓
            }
        }
        stage('静态代码静态扫描') {
            steps {
                withSonarQubeEnv('Sonar'){
                    bat "sonar-scanner"
                }
            }
        }

        其它流程
    } 


!!!注意:

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值