Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从多个维度检测代码质量:

  • 可靠性
  • 安全性
  • 可维护性
  • 覆盖率
  • 重复率

通过插件形式,可以支持包括Java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测

效果图

下载

https://www.sonarqube.org/downloads/
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip

参考文档

https://docs.sonarqube.org/7.4/

安装

要求:jdk(Oracle JRE 8或OpenJDK 8) 8.0  mysql 5.6 5.7
chmod 777 /data
useradd sonar
su sonar
unzip sonarqube-7.5.zip
修改数据库:vi /data/sonarqube-7.5/conf/sonar.properties
启动:/data/sonarqube-7.5/bin/linux-x86-64/sonar.sh start & tail -f /data/sonarqube-7.5/logs/sonar.log 插件:
sonar-l10n-zh-plugin-1.22.jar 中文插件
sonar-dependency-check-plugin-1.2.5.jar
sonar-findbugs-plugin-3.11.0.jar 注意1:如果启动有问题,重新下载安装jdk8
注意2:不能用linux root 用户启动,因为sonarqube 6.7+ 版本中有elasticsearch ,由于安全因素,不能用root 用户启动,最好用普通用户安装、启动sonarqube
注意3:报错java.lang.IllegalStateException: Unable to read plugin manifest from jar : /data/sonarqube-7.5/extensions/plugins/sonar-scala-plugin-1.4.0.155.jar
删除该插件重新启动即可

质量阀设置

http://IP:9000/quality_gates/show/3

使用方式(推荐):

mvn clean compile org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar

sonar api

利用sonar api可集成入其他平台,方便交互。

http://IP:9000/api/project_branches/list?project=
pom.groupId:pom.artifactId
匹配json响应值中 qualityGateStatus=OK / ERROR http://IP:9000/api/qualitygates/project_status?projectKey=settle-core
匹配json响应值中 projectStatus": { "status": "OK",

扫一扫,关注我

代码扫描Sonar使用教程的更多相关文章

  1. 静态代码扫描工具使用教程 - SonarQube+SonarScanner

    预置条件: Jdk已安装 Mysql已安装 1. 下载 SonarQube和Sonar scanner. SonarQube: http://www.sonarqube.org/downloads/ ...

  2. 使用jenkins+sonar进行代码扫描,并发送自定义邮件

    jenkins架构 1.一台机器作为jenkins master不进行构建操作,只负责调度其他slave节点执行任务 2.一台slave机器作为执行机器存放从gitlab上拉取的代码,使用sonar- ...

  3. DEVOPS技术实践_05:sonar静态代码扫描

    一.SonarQube静态代码扫描平台 1.1 安装 https://www.sonarqube.org/官网 1.2 下载软件包 https://www.sonarqube.org/download ...

  4. Jenkins集成openshift容器中进行代码扫描

    1.Dockerfile sonarDockerfile: (基础slave镜像参考上篇博文) FROM registry.it.com/openshift/jenkins-slave:latest ...

  5. 持续集成之代码质量管理-Sonar [三]

    转载:https://www.abcdocker.com/abcdocker/2053 摘要 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工 ...

  6. [ci] 基于1 上文实现拉取代码后能自动触发sonar-runner实现代码扫描评测,job1完成

    基于1 上文实现拉取代码后能自动触发sonar-runner实现代码扫描评测,job1完成   添加sonar插件 SonarQube Plugin   配置: 系统设置à告知jenkins,sona ...

  7. 功能+自动化测试代码扫描(demo)

    Jacoco 是一个开源的覆盖率工具.Jacoco 可以嵌入到 Ant .Maven 中,并提供了 EclEmma Eclipse 插件,也可以使用 Java Agent 技术监控 Java 程序.很 ...

  8. SonarQube+Jenkins+Cppcheck实现C++代码扫描

    背景:公司部分项目是由C++进行开发,因此对此有需求. sonarqube:docker化安装(alpine系统),版本8.3.1 (build 34397) jenkins:docker化安装,版本 ...

  9. 持续集成工具之jenkins+sonarqube做代码扫描

    上一篇我们主要聊了下代码质量管理平台sonarqube的安装部署以及它的工作方式做了简单的描述和代码扫描演示:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13 ...

随机推荐

  1. UiAutomator源码学习(1)-- UiDevice

    UiDevice提供对设备状态信息的访问. 也可以使用此类来模拟设备上的用户操作,例如按键盘或按Home和Menu按钮.UiDevice类的完整源码 UiDevice.java 废话不多说,我们首先根 ...

  2. 小烈送菜——奇怪的dp

    小烈送菜 题目描述 小烈一下碰碰车就被乐满地的工作人员抓住了.作为扰乱秩序的惩罚,小烈必须去乐满地里的"漓江村"饭店端盘子. 服务员的工作很繁忙.他们要上菜,同时要使顾客们尽量高兴 ...

  3. HDU5961 传递

    传递 因为文化课复习实在捉急qwq,题解就一切从简了qwq 简单说一说 上来一看这道题没看出来突破点在哪... 去HDU上看原题,发现原题是带样例的图解的,然鹅还是没找到思路(太菜了吧) 没办法看了一 ...

  4. Redis 6.0 redis-cluster-proxy 说明

    背景 Redis3.0版本之后开始支持了Redis Cluster,Redis也开始有了分布式缓存的概念.关于Redis Cluster的相关说明,可以看之前的几篇文章:Redis Cluster 原 ...

  5. LDAP注入介绍

    LDAP注入介绍 一. 前言 前些日子在看 OWASP TOP 10 时看到了对LDAP注入攻击的介绍,对此产生了兴趣,在网上经过一番搜索之后找到了构成本文主要来源的资料,整理出来分享给大家. 二. ...

  6. np.nan is an invalid document, expected byte or unicode string.

    ValueError Traceback (most recent call last) <ipython-input-12-1dc462ae8893> in <module> ...

  7. 邂逅Vue.js

    1.简单认识一下Vue.js Vue (读音 /vjuː/,类似于 view),不要读错. Vue是一个渐进式的框架,什么是渐进式的呢? p渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更 ...

  8. java面试题jvm字节码的加载与卸载

    虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换分析和初始化,最终形成可以被虚拟节直接使用的JAVA类型,这就是虚拟机的类加载机制. 类从被加载到虚拟机内存到卸载出内存的生命周期 ...

  9. Ethical Hacking - Web Penetration Testing(5)

    LOCAL FILE INCLUSION Allows an attacker to read ANY file on the same server. Access files outside ww ...

  10. GPO - General GPO Settings(1)

    Prohibit access to Control Panel and PC settings Disable GPO for Administrators and /or User Groups  ...