Sonarqube集成到Jenkins实现代码自动检测

2023-05-16

如何使用Sonar把不同的代码检查工具结果直接显示在WEB页面上??详细实操如下:

需要配置

  • Sonarqube服务端:192.168.10.12
  • Sonarqube客户端
  • postgres 数据库 (步骤省略)

一、Sonar服务端用docker部署

docker pull registry.cn-shenzhen.aliyuncs.com/jbjb/csi:8.9.7-community

二、Sonarqube配置

创建项目:
在这里插入图片描述
创建令牌:

在这里插入图片描述
点击继续
在这里插入图片描述
选择构建技术
在这里插入图片描述

根据需求选择,最后复制命令行
在这里插入图片描述

三、scanner-cli客户端用Jenkins部署

1 进入sonarqube官网复制地址

https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

2 安装需要的版本

wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.7.0.2747-linux.zip

3 解压

unzip sonar-scanner-cli-4.7.0.2747-linux.zip

4 改名成 sonar-scanner
mv sonar-scanner-4.7.0.2747-linux/ sonar-scanner

5使用root身份进入容器

docker exec -it --user root  myjenkins bash

5 把sonar-scanner拷贝到容器里的/opt 目录下

[root@docker02 ~]# docker cp /root/sonar-scanner myjenkins:/opt

6创建软链接

ln -s /opt/sonar-scanner/bin/sonar-scanner /usr/sbin/

四、jenkins配置

1 添加凭据
进入jenkins-web页面>>系统管理>>Manage Credentials>>点击任意一个凭据>>全局凭据>>添加凭据

在这里插入图片描述

2 创建任务
在这里插入图片描述
3 编写Pipeline脚本

在这里插入图片描述

pipeline {
    agent any

    stages {
        stage('get code ') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'qwe123', url: 'https://gitee.com/abc344327477/node-day03.git']]])
                sh '''
    sonar-scanner \
    -Dsonar.projectKey=node-day \
    -Dsonar.sources=. \
     -Dsonar.host.url=http://192.168.10.12:9000 \
     -Dsonar.login=44a4cf1fba84b9ab98f3decb206ab66913d03177

 '''
                
               
            }
        }
    }
}

① 为流水线脚本,具体生成方法如下:
在这里插入图片描述
点击生成流水线脚本,并复制脚本:
在这里插入图片描述

giett仓库代码地址获取方法如下:
在这里插入图片描述
②scanner-cli客户端要执行的一些命令,获取方式在上面有(二、Sonarqube配置)有写

4 点击构建

在这里插入图片描述

五、到Sonar服务端查看代码检查结果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sonarqube集成到Jenkins实现代码自动检测 的相关文章

随机推荐