SonarQube架构与集成 平台架构 SonarQube平台由4个组件组成 SonarQube服务器 开发人员和管理员操作频繁,用于浏览代码质量和配置服务器。 SonarQube数据库 存储代码分析数据报告。 支持oracle、PostgreSQL、MySQL。 SonarQube插件库 通过插件使平台功能更加强大。 SonarQube扫描器 客户端工具,用于扫描项目。 将扫描结果上传到服务器。 开发工作流 IDE集成 开发人员在IDE开发工具中安装SonarLint进行本地代码扫描分析。 关于机器和位置 平台不能通过多个sonarqube服务器公用一个数据库。 每个组件应单独安装在专用计算机上,这样性能是最好的。 扫描器可以在多台机器进行扩展。 所有机器的时间应该是同步一致的。
前言 Docker Version: Docker version 20.10.2, build 2291f61 SonarQube Version: sonarqube:8.6.1-community SonarQube手册: https://docs.sonarqube.org/latest/user-guide/concepts/ 步骤 拉取镜像 docker pull sonarqube:8.6.1 -community 启动服务 docker run -d --name sonar -p 9000:9000 sonarqube 访问 http://192.168.223.16:9000/ admin
SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 这里准备的是**sonarqube7.7.zip**,我的安装路径是/u02/ycc 使用unzip解压压缩包; 预置条件 1).已安装JAVA环境 2).已安装有MySQL数据库 3).sonarQube ---- Sonarqube使用 SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。 ? 以maven为例,需要修改maven和sonarqube配置文件,在mvn编译后,使用mvn命令,进行代码扫描,并推送给sonarqube(需要编译源代码) ,参见上文。
一、概述 SonarQube的安装,请参考链接: https://www.cnblogs.com/xiao987334176/p/12011623.html 配置好sonar的服务端后,接下来就要使用sonar 二、安装 下载 下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner 下载linux版本,链接为: sonar-scanner-4.2.0.1873-linux/conf/sonar-scanner.properties INFO: Project root configuration file: NONE INFO: SonarQube
SonarQube Jenkins WebHook SonarQube生成用户Token [SonarQube]-[我的账户]-[安全] ? 该Token不会显示第二次,请备忘。 配置Jenkins SonarQube [Jenkins]-[系统管理]-[系统设置]-[SonarQube servers] Token即为上一步生成的SonarQube的Token ? SonarQube配置Jenkins Webhook [SonarQube]-[配置]-[网络调用]-[新建Webhooks] ? 在代码扫描成功后,扫描结果需要回调Jenkins。 SonarQube代码扫描阈值设定 SonarQube根据预先设定的阈值来判断此次扫描的结果,如何配置SonarQube静态代码扫描的阈值呢? [SonarQube]-[质量阈] ? stage('SonarQube Scan') { if (runSonar == 'true') { withSonarQubeEnv('sonarqube')
SonarQube® software (previously called Sonar) is an open source quality management platform, dedicated 简介 SonarQube(以前叫Sonar)是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol 本文使用的版本是SonarQube 6.4 下载安装 下载 官网下载SonarQube 6.4。 下载下来是个压缩文件,解压到当前目录。 ? 配置 SonarQube是有些默认配置的,可以根据实际需要配置。 ? 配置数据库。支持的数据库有:MySQL, Oracle, PostgreSQL and Microsoft SQLServer。 参考 Sonar——代码质量管理平台 Installing the Server SonarQube代码质量管理平台安装与使用
安装包 | 软件包 JDK | 1.8 Maven | 3.6.0 MySQL | 5.7 步骤 SonarQube安装与配置 1. 解压我们下载好的安装包,然后进入到D:\Program Files\sonarqube-7.6\bin\windows-x86-64目录,依次以管理员身份运行以下bat脚本。 2. 这个是为了方便自己在idea中及时的修改,扫描的错误 2. scan扫描 进入到项目目录然后直接运行命令扫描即可,扫描完成后,他会自动在后台分析,分析完成就可以看到成品 Java代码扫描 具体可查看文档
一、概述 SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。 服务器 SonarQube server将结果写入db 用户通过web ui查看扫描结果 SonarQube导出结果到其他需要的服务 SonqrQube系统集成图 ? /Distribution/sonarqube/sonarqube-7.8.zip 解压安装 mkdir -p /data yum install -y unzip unzip sonarqube-7.8 /lib/common/*:/data/sonarqube-7.8/lib/jdbc/h2/h2-1.3.176.jar org.sonar.server.app.WebServer /data/sonarqube /lib/common/*:/data/sonarqube-7.8/lib/jdbc/h2/h2-1.3.176.jar org.sonar.ce.app.CeServer /data/sonarqube
=5432 - SONARQUBE_DATABASE_USER=bn_sonarqube - SONARQUBE_DATABASE_NAME=bitnami_sonarqube ]# docker-compose logs sonarqube Attaching to docker-sonarqube_sonarqube_1 sonarqube_1 | sonarqube /bitnami-docker-sonarqube/issues sonarqube_1 | sonarqube 07:04:27.46 sonarqube_1 | sonarqube 07: SonarQube sonarqube_1 | sonarqube 07:05:24.05 INFO ==> Persisting SonarQube installation sonarqube ** sonarqube_1 | sonarqube_1 | sonarqube 07:05:24.40 INFO ==> ** Starting SonarQube ** sonarqube
SonarQube安装 一般情况下,只需要安装社区版免费的SonarQube服务即可,可以基于二进制文件安装或者直接使用Docker下载镜像启动,二进制文件安装的过程比较复杂,因为SonarQube内部依赖内置的 11+28) OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode) 安装PostgreSQL数据库 PostgreSQL的安装也相对简单,官方文档有十分详细的步骤 sonarqube # 分配权限 chown -R sonarqube:sonarqube /data/sonarqube 接着下载和安装SonarQube: ? /sonarqube-8.3.1.34397.zip uzip sonarqube-8.3.1.34397.zip 修改配置/data/sonarqube/sonarqube-8.3.1.34397/conf 参考资料: SonarQube官方文档 PostgreSQL - Linux downloads (Red Hat family) (本文完 c-1-d e-a-20200517) 本文是Throwable
这种情况下, sonarqube就能成为review的神器。它能通过scanner分析不同语言环境下代码存在的问题,并能够得到代码重复率,bug数量,代码行数等不同维度的指标。 下面对安装和使用的步骤进行简单介绍: (图片来自:https://www.sonarqube.org/downloads/) 只有community版本是免费的,其余三个版本都是收费的,如下: (图片来自 :https://www.sonarqube.org/downloads/) 管理员运行:sonarqube-9.1.0.47736\bin\windows-x86-64\StartSonar.bat 【如果不在部署的那台机器上安装, 会提示联系管理员安装】 (图片来自:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/) 设置环境变量 使用喜欢的CI进行分析,如下,选择其他CI,创建一个令牌,并保存,因为项目配置的时候会用到,保存下令牌后,如下: 复制完,在开发环境的项目根目录下执行执行扫描,就像图示中的说明:“在你的电脑上执行SonarQube
前言 Linux版本:centos7.6 Java:Jdk11 SonarQube:8.2.0.32929 PostgreSQL:12 sonar-scanner:4.6.2.2472 1.安装Jdk 1.下载SonarQube wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.2.0.32929.zip 2.解压 unzip sonarqube-8.2.0.32929.zip 3.重命名 mv sonarqube-8.2.0.32929 /usr/local/sonarqube 4.添加用户 1. 新增用户 sudo adduser sonar 2.设置密码 sudo passwd sonar 3.赋予权限 chmod -R sonar:sonar /usr/local/sonarqube 5 search端口,如果端口冲突必须要更改噢 7.启动sonarqube su sonar #必须用非root启动 cd /usr/local/sonarqube/bin/linux-x86-64
一、概述 安装SonarQube,参考链接: https://www.cnblogs.com/xiao987334176/p/12011623.html 安装SonarQube Scanner,参考链接 : https://www.cnblogs.com/xiao987334176/p/12022294.html 二、安装插件 在可选插件中搜索 SonarQube 并安装它 三、插件配置 创建sonarqube 输入在sonarqube中生成的token ? 配置 SonarQube Server 进入 Jenkins 系统管理 – 系统设置,配置 SonarQube Server 信息 由于 SonarQube 在本机运行,直接就是 http://localhost 登录到SonarQube,查看结果 ?
SonarQube简介 SonarQube是一款开源的代码质量检查工具,主要用于源代码的质量检查,是devops流水线中很常用的一个工具,以插件化的形式,支持多种编程/脚本语言的代码分析,同时也提供了对常用 /bin/linux-x86-64 sh sonar.sh start 注意事项; 1、sonarqube是需要依赖于jdk的,目前我所使用的sonarqube-8.4的版本,需要依赖于java11的版本 Linux下通过Docker搭建SonarQube环境 # 下载sonarqube的docker镜像: docker pull sonarqube docker run -itd --name sonarqube -p 9000:9000 sonarqube 执行以上命令后,即可成功安装sonarqube,然后在浏览器中输入ip+端口9000访问即可。 3、更多Sonar的用法请持续关注,后面有时间再分享其他用法,随着版本的升级,很多的用法也需要及时去学习和更新 ,最好的办法就是参考官网的文档学习,可以少踩很多坑。 ?
安装jenkins 略 安装SonarQube version: "3" services: sonar: image: sonarqube:8.4.2-community container_name - SONAR_JDBC_USERNAME=postgres - SONAR_JDBC_PASSWORD=123456 volumes: - /data/sonarqube /sonarqube_extensions:/opt/sonarqube/extensions - /data/sonarqube/sonarqube_logs:/opt/sonarqube /logs - /data/sonarqube/sonarqube_data:/opt/sonarqube/data pgsql: image: postgres:12 安装中文语言包 图片 安装语言插件 图片 手工新建项目 图片 配置 Jenkins 安装 SonarQube Scanner 插件 图片 全局工具配置中安装 SonarQube Canner
在持续集成环境里,我们可以使用Sonarqube的webhook功能来实现持续发布和发布包归档功能.大致思路是当项目构建成功后我们可以通过webhook通知服务器构建任务已完成,接下来web 服务器可以根据 参数sonar是SonarQubeVm类型的参数,是根据Sonarqube请求规格文档构建的,代码如下: public class SonarQubeVm { public DateTime 返回的所有参数,我们只取了部分.关于Sonarqube webhook完整请求参数请查看http://localhost:9000/documentation/webhooks,localhost:9000 WebHook调用 在Sonarqube里可以通过两种方式调用webhook,全局模式和项目模式.全局模式每当一个构建成功后就会触发.项目模式则只有指定的项目构建以后才会触发. 全局模式 ? 我们以调试模式启动web项目,然后执行一个Sonarqube项目构建,执行完成后看看是否有请求到达web服务器.
Sonarqube Web管理界面虽然设计的简洁大方,也非常直观,但是由于功能繁多,这对快速入手以及快速定位到想要的功能都是一个挑战,在以后的几个小节里我们简要介绍.
networks: - sonarnet environment: POSTGRES_USER: sonar POSTGRES_PASSWORD: sonar sonarqube : image: sonarqube:latest container_name: sonarqube depends_on: - db ports:
概述 SonarQube 对源代码执行规则以生成问题。有四种类型的规则: 代码异味(可维护领域) 错误(可靠性域) 漏洞(安全域) 安全热点(安全域) 对于代码异味和错误,预计零误报。 存储库:为 SonarQube 提供规则的引擎/分析器。 默认严重性:规则的原始严重性 - 由 SonarQube 定义。 有关更多信息,请参阅质量配置文件文档。 规则详情 要查看规则的详细信息,请单击它,或使用向右箭头键。 规则模板和自定义规则 规则模板由插件提供,作为用户在 SonarQube 中定义自己的自定义规则的基础。 更多信息:www.sonarqube.cc
参考 sonarqube中文插件安装 2. 版本对应关系 ? 3. 说明 本人SonarQube的版本为7.4,对应的中文插件版本为sonar-l10n-zh-plugin-1.24,版本对应规律请自推 ?