精华内容
下载资源
问答
  • SonarQube

    2015-12-15 10:38:49
    SonarQube

    Sonar简介

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

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


    贴个博文,感觉写的不错: http://blog.csdn.net/hunterno4/article/details/11687269

    展开全文
  • sonarqube

    2020-12-18 00:10:26
    我们在使用sonarqube的时候,会遇到这样的问题。为什么我本地扫描显示执行成功,但是在sonarqube平台界面上看到的信息还是前一次的内容。 比如我通过mvn clean package sonar:sonar,mvn编译执行日志中已经显示...

       了解sonarqube分析步骤

           我们在使用sonarqube的时候,会遇到这样的问题。为什么我本地扫描显示执行成功,但是在sonarqube平台界面上看到的信息还是前一次的内容。

           比如我通过mvn clean package sonar:sonar,mvn编译执行日志中已经显示执行成功,我通过提示跳转链接http://ip:9000/sonarqube/api/ce/task?id=AVo_WHJYU5rNTJ7ZmiZq去sonarqube平台访问,结果展示的却并不是想要的当次新扫描的结果信息。然后你会看到sonarqube对应跳过去的项目的界面上有一个提示,提示当前项目在后台运行。为什么本地扫描提示明明是构建成功,并且跳转sonarqube的档次task链接都发出来了,但是访问过去后状态却提示我是PENGDING,SonarQube网页界面上也看不到当次扫描的最新报告。

           针对这个问题,就需要了解下sonarqube分析步骤。

    sonarqube分析分为两个步骤:

    1. SonarQube客户端工具在你的本地代码上运行,编译分析报告,然后将其提交给sonarqube服务器。
    2. 分析报告在服务器端处理,并在数据库中更新对应项目数据。

    步骤#1同步进行。步骤2是异步进行的。

           所以,在相关的后台任务完成之前,分析尚未完成。即使SonarScanner的日志显示出来EXECUTION SUCCESS,在完成后台任务之前,分析结果也不会在SonarQube项目中显示。SonarScanner完成对代码的分析之后,分析结果(源,问题,指标)(分析报告)将发送到SonarQube Server,由Compute Engine进行最终处理。分析报告按顺序排队和处理。

           在SonarQube平台上,我们可以在后台任务中看到本地扫描对应的项目的状态,当指定项目的服务器端的分析/报告处于PENDING状态时,这意味着它已排队并等待处理。当分析/报告移至IN_PROGRESS时,表示它已经到达队列的开头,并且正在服务器端进行集成。这种集成不是立即发生的。需要计算对应项目的汇总指标和更新对应项目数据库数据。另外项目的大小和服务器可用的资源,会影响它的执行时长。

    要查看处理队列中正在发生的事情,请查看管理>项目>后台任务,关于后台任务,如果想要了解更多一点,可以访问:https://docs.sonarqube.org/latest/analysis/background-tasks/

           当我们接入sonarqube平台越来越多,尤其是需要获取当次执行的quality gates,这时候可能会出现同一时间由于并发提交到sonarqube平台的项目量大,造成后台任务区项目堵塞,大量项目状态显示为PENDING,并且等待好几个小时后,状态依然是排队等待。这时候该如何去做处理,或者该如何配置操作,以防止这个问题的出现。

    具体操作见:https://docs.sonarqube.org/latest/instance-administration/monitoring/ 菜单下Memory settings,对$SONARQUBE-HOME/conf/sonar.properties文件进行设置。

    按需设置,sonar.ce.javaOpts、sonar.search.javaOpts、sonar.web.javaOpts。

    关于sonarqube平台后台任务分析时间长,想了解的可以看这篇文章:https://docs.sonarqube.org/latest/instance-administration/compute-engine-performance/

     

    存一些链接:

    关于简单解释sonarqube架构的https://zhuanlan.zhihu.com/p/38291578

    关于获取扫描状态的https://xbuba.com/questions/45693418

    官方文档(很全很值得看的文档,从细节到插件开发,规则开发都有):https://docs.sonarqube.org/

    一套整理的老的sonarqube指标:https://www.cnblogs.com/ioufev/articles/12693967.html

    sonarqube论坛,可以在这里快速查找其他人遇到的问题,或快速提问:https://community.sonarsource.com/

     

    展开全文
  • sonarQube

    2019-07-26 15:44:05
    文章目录sonarQubeSonarqube搭建1、安装2、数据库配置:3、修改sonar配置文件:sonar.properties4、启动sonarqube5、安装SonarQube Scanner和配置6、maven-sonar-pluginSonarqube使用1.SonarQube扫描方法2.SonarQube...

    sonarQube


    Sonarqube搭建

    1、安装

    这里准备的是***sonarqube7.7.zip***,我的安装路径是/u02/ycc

    使用unzip解压压缩包;

    预置条件

    1).已安装JAVA环境

    2).已安装有MySQL数据库

    3).sonarQube压缩包

    2、数据库配置:

    # 创建数据库sonar
    create database sonar character set utf8 collate utf8_general_ci;
    
    # 创建数据库用户sonar可用地址为192.168.6.226密码sonar
    CREATE USER sonar@'192.168.6.226' identified by 'sonar';
    
    # 赋权给用户sonar对数据库sonar有所有权限
    grant all on sonar.* to 'sonar'@'%' identified by 'sonar';
    
    # 授权sonar用户可以在本地连接数据库
    grant all on sonar.* to 'sonar'@'localhost' identified by 'sonar';
    
    # 授权sonar用户可以在226连接数据库
    grant all on sonar.* to 'sonar'@'192.168.6.226' identified by 'sonar';
    
    # 刷新权限
    flush privileges;
    

    在这里插入图片描述

    对权限的所有操作最后需要刷新下权限,即flush privileges;使之更改立马生效。

    3、修改sonar配置文件:sonar.properties

    我的数据库在17,使用时更改这个地址到自己的数据库地址即可。

    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:mysql://192.168.6.17:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL
    

    修改wrapper配置文件的java路径

    wrapper配置文件额sonar.properties在同一个目录里,这里需要注意一点,路径后面需要额外加上/java。不加会报

    Unable to start JVM: Permission denied (13)的错误。

    wrapper.java.command=/u02/ycc/jdk1.8.0_161/bin/java
    

    启动

    sh /u02/ycc/sonar.../bin/linux.../sonar.sh start
    

    如果使用root的话会出现如下错误:

    在这里插入图片描述

    在这里插入图片描述

    换个用户,并赋予这个用户sonar目录的权限即可。

    4、启动sonarqube

    将中文插件sonar-l10n-zh-plugin-1.28.jar复制到extensions/plugins

    在这里插入图片描述

    5、安装SonarQube Scanner和配置

    //解压文件
    //进入文件
    //编辑文件
    [root@localhost local]#unzip  sonar-scanner-cli-3.0.3.778-linux.zip
    [root@localhost local]#mv sonar-scanner-cli-3.0.3.778-linux  sonar-scanner
    [root@localhost local]# cd sonar-scanner
    [root@localhost sonar-scanner]# vim conf/sonar-scanner.properties 
    
    #Configure here general information about the environment, such as SonarQube DB details for example
    #No information about specific project should appear here
    #----- Default source code encoding
    sonar.sourceEncoding=UTF-8
     
    sonar.host.url=http://192.168.6.226:9000
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:mysql://192.168.6.17:3306/sonar?useUnicode=true&characterEncoding=utf8
    sonar.login=sonar
    sonar.password=sonar
    

    在项目的根目录创建sonar-project.properties

    #sonar登陆用户
    sonar.login=admin
    #sonar登陆密码
    sonar.password=admin
    #需要扫描的项目对应的key自定义即可
    sonar.projectKey=content-receive
    #需要扫描的项目对应的显示项目名自定义即可
    sonar.projectName=content-receive
    sonar.projectVersion=1.0-SNAPSHOT
    sonar.sourceEncoding=UTF-8
    sonar.language=java
    #扫描的源码位置
    sonar.sources=src/main/java/com/jsc/content
    #扫描的test位置
    sonar.tests=src/test/java/com/jsc/content
    #扫描java的源码位置
    sonar.java.binaries=target/classes/com/jsc/content
    

    在项目当前目录执行scanner :

    sh /sonarscannerdir/bin/sonar-scanner -X
    

    运行结束在sonarQube页面即可看到刚才扫描的项目。

    在这里插入图片描述

    6、maven-sonar-plugin

    对于Maven项目,除了使用SonarQube Scanner进行分析之外,还可以使用maven-sonar-plugin插件进行分析。使用maven-sonar-plugin插件的步骤如下:(setting.xml)

    在这里插入图片描述

    在这里插入图片描述

    	<profile>
    		<id>sonar</id>
    		<activation>
    		<activeByDefault>true</activeByDefault>
    		</activation>
    		<properties>
    		<sonar.jdbc.url>jdbc:mysql://192.168.6.226:3306/sonar</sonar.jdbc.url>
    		<sonar.jdbc.username>sonar</sonar.jdbc.username>
    		<sonar.jdbc.password>sonar</sonar.jdbc.password>
    			<sonar.host.url>http://192.168.6.226:9000</sonar.host.url>
    		</properties>
    		
    		</profile> 
      </profiles>
       <activeProfiles>
            <activeProfile>UFindNexus</activeProfile>
    		<activeProfile>sonar</activeProfile>
        </activeProfiles>
    

    pom.xmlbuild中增加如下配置:

     <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.sonarsource.scanner.maven</groupId>
                        <artifactId>sonar-maven-plugin</artifactId>
                        <version>3.1.1</version>
                    </plugin>
                </plugins>
            </pluginManagement>
    

    在对应项目的控制台输入mvn clean verify sonar:sonar
    或mvn clean install org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1:sonar执行扫描;这里注意,如果有多个maven的setting.xml会使用环境变量配置的setting.xml。执行完即可在sonarqube页面查看。

    如果这里执行报错的话可以使用IDEA的run maven运行:

    在这里插入图片描述

    也可以在pom.xml中增加profile,此时选中sonar-project,执行 clean install sonar:sonar即可。

        <profiles>
            <profile>
                <id>sonar-project</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <properties>
                    <sonar.jdbc.url>jdbc:mysql://192.168.6.213:3306/sonar</sonar.jdbc.url>
                    <sonar.jdbc.username>root</sonar.jdbc.username>
                    <sonar.jdbc.password>passok</sonar.jdbc.password>
                    <sonar.host.url>http://192.168.6.213:9000</sonar.host.url>
                    <!-- 需要忽略的-->
                    <sonar.exclusions>src/main/java/com/jsc/codec/**</sonar.exclusions>
                </properties>
            </profile>
        </profiles>
    

    在这里插入图片描述


    Sonarqube使用

    SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。

    在这里插入图片描述

    1.SonarQube扫描方法

    Jenkins中调用
    通过jenkins插件调用sonarScanner或使用Maven、Gradle等内置扫描器
    依据项目需要,对代码持续扫描,并将结果推送到sonarqube 进行页面展示

    SonarQube Scanner
    使用scanner,通过配置文件,修改项目信息,在命令行中调用scanner工具,进行扫描,并推送给sonarqube

    Maven、Gradle等内置扫描器

    以maven为例,需要修改maven和sonarqube配置文件,在mvn编译后,使用mvn命令,进行代码扫描,并推送给sonarqube(需要编译源代码) ,参见上文。

    2.SonarQube web UI

    显示用户所有的项目概况,各项目质量评级,并提供条件筛选

    在这里插入图片描述

    3.SonarQube web UI –项目页面

    通过在主页面选择单个项目,进入项目详情,该页面提供了当前项目最近一次扫描的结果评级,历史累计和新增问题数量,代码行数等信息 。

    在这里插入图片描述

    4.SonarQube web UI –问题页面

    提供当前用户名下所有问题的列表,并提供条件筛选,包括问题类型,严重程度等
    在当个项目中,问题页面显示单项目信息 。

    在这里插入图片描述

    选中单个问题,查看问题代码详情,sonarqube给出问题描述和修改意见 。

    在这里插入图片描述

    5.SonarQube web UI –评估页面

    给出当前项目的评估概况信息,大小,可靠性,重复率,覆盖率等 。

    在这里插入图片描述

    6.SonarQube web UI –代码页面

    以.java文件为依据,给出各个.java文件统计信息 。

    在这里插入图片描述

    7.SonarQube web UI –活动页面

    页面展示了每次代码扫描的基本信息和代码情况的折线图,折线图可以根据需要调整显示bugs数量,代码行数,覆盖率等信息 。
    在这里插入图片描述


    SonarQube Jekins集成

    1、安装jenkins sonar插件。

    2、配置sonarServer

    进入系统管理–>系统配置界面。(这里选择测试环境的sonarQube地址)

    在这里插入图片描述

    进入系统管理–>全局工具配置

    在这里插入图片描述

    回到主页找到需要配置的项目,如果没有则需要新建项目,这里不赘述如何创建。选中项目配置sonar(这里使用

    sonar-scanner)。

    在这里插入图片描述

    在这里插入图片描述

    在构建历史中可以看到运行中的构建,点进去查看信息:

    在这里插入图片描述

    另外一种方式是直接使用maven命令打包,此时需要配置setting.xml,配置见前文。

    在这里插入图片描述

    3、查看结果

    在这里插入图片描述

    展开全文
  • Sonarqube

    2018-09-08 22:23:29
    Sonarqube作用 sonarqube主要用于代码静态分析,用于检查代码存在格式,bug,安全漏洞,同时也提供了代码复杂度,代码行数等质量度量数据 sonarqube主要用于以下场景 开发代码中实时检查 开发代码完毕,提交...

    Sonarqube作用

    sonarqube主要用于代码静态分析,用于检查代码存在格式,bug,安全漏洞,同时也提供了代码复杂度,代码行数等质量度量数据

    sonarqube主要用于以下场景

    • 开发代码中实时检查
    • 开发代码完毕,提交代码到配置库之后,定期或者不定期扫描

      sonarqube特性

    • 易于安装,开箱即可使用

    • 易于安装配置-所有配置可以通过其提供的web界面实现
    • 丰富的扫描格式,可以扫描JAVA/C/C++…
    • 可以与CI集成,例如Jenkins完美集成
    • 丰富的统计功能
    • 支持误报处理,分配工作流
    展开全文
  • sonarqube-源码

    2021-03-17 11:47:19
    sonarqube
  • SonarQube 6.7.7

    2021-01-08 15:01:58
    SonarQube 6.7.7
  • sonarqube7.0

    2018-02-24 14:15:11
    sonarqube7.0官网下载sonarqube7.0官网下载sonarqube7.0官网下载sonarqube7.0官网下载sonarqube7.0官网下载
  • sonarqubeSonarQube PHP文件示例
  • sonarqube 6.7.2

    2018-03-19 22:50:45
    sonarqube 6.7.2 来源 https://www.sonarqube.org/downloads/
  • docker-sonarqube:Docker中的SonarQube
  • SonarQube案例

    2021-04-06 01:06:59
    作者dibakarece,源码AndroidSonarQubeDemo,SonarQube集成在Android中,用于正确的代码审查和代码结构化。
  • k8s-sonarqube Kubernetes Sonarqube
  • sonarqube 7.1

    2018-11-14 11:11:56
    sonarqube7.1是代码检测工具,需要配合mysql,sonar-runner 安装后扫描项目工程代码,并且结果可在web上查看
  • sonarqube-6.7.7

    2020-09-18 09:33:10
    sonarqube-6.7.7
  • sonarqube-7.9

    2021-05-22 11:43:17
    sonarqube-7.9.zip
  • 目录导航SonarQubeSonarQube 汉化/SonarQube 中文包安装正文 SonarQubeSonarQube 汉化/SonarQube 中文包安装 简介: SonarQube 如何安装中文包 本文参考: 环境: CentOS Linux release 7.6.1810 (Core) ...
  • sonarqubeSonarqube社区与docker上的PostgreSQL数据库
  • sonarqube-7.6

    2019-02-19 08:19:05
    sonarqube-7.6

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,177
精华内容 4,470
关键字:

sonarqube