zoukankan      html  css  js  c++  java
  • 安全测试-docker搭建sonar完成代码质量检测

    1.SonarQube简介

    1.简介

    Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测,是代码审查利器;可以帮助我们分析bug,漏洞,异味,代码覆盖率和重复代码问题

    2.组成

    3.过程

    1.开发人员在他们的ide中使用SonarLint运行分析本地代码。
    2.开发人员将他们的代码提交到代码管理平台中(SVN,GIT等)
    3.持续集成工具自动触发构建,调用SonarScanner对项目代码进行扫描分析
    4.分析报告发送到SonarQube Server中进行加工
    5.SonarQube Server 加工并且保存分析报告到SonarQube Database中,通过UI显示分析报告
    

    2.docker安装SonarQube

    1.安装数据库-postgres

    获取 postgresql 的镜像
    $ docker pull postgres
    启动 postgresql
    $ docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres:12

    #说明:
    --name db 是搭建的postgres数据库docker 容器名称
    -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar 是数据库账号和密码
    -d postgres 12 是postgres镜像的版本
    

    2.安装SonarQube

    获取 SonarQube 的镜像
    $ docker pull sonarqube
    启动 SonarQube
    docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -p 9000:9000 -d sonarqube
    ps:SonarQube的用户名密码一般使用sonar启动,否则会报错

    #说明:
    --name sq 是搭建的SonarQube数据库docker 容器名称sq
    --link db 是连接上面postgres容器
    -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar 连接的db的端口号
    -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar SonarQube的用户名和密码:sonar/sonar
    -p 9000:9000 第一个9000是对外访问端口,第二是是对内访问端口
    -d sonarqube 是最新版本的SonarQube 镜像
    

    3.检验成功

    $ docker ps
    postgres和sonarqube都启动说明搭建成功

    3.SonarQube平台

    1.打开http://localhost:9000/about,点击login进行登录,用户名密码:admin/admin



    2.利用sonar 的插件体系,直接汉化
    sonar并选择Administration中,选择MarketPlace,搜索Chinese Pack,点击安装,安装完成后,重启即可;重启命令:docker restart sq

    4.SonarScanner客户端

    1.下载安装sonarscanner

    下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

    2.配置环境变量

    $ sonar-scanner -h
    验证生效

    3.服务端开启认证

    默认是不开启的,可以手动开启;开启令牌后就只能有令牌的进行扫描

    ps:至此,不是maven的项目,直接就可以用sonarscanner扫描了,maven的项目,接下来安装maven

    5.maven项目

    1.下载安装maven

    下载地址:http://maven.apache.org/download.cgi

    2.配置环境变量

    $ mvn -version
    验证生效

    3.修改maven中的conf-settings配置文件

          <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    

        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>
                  http://127.0.0.1:9000
                </sonar.host.url>
            </properties>
        </profile>
    

    6.扫描代码

    1.创建项目




    2.执行扫描

    终端进入项目根目录,执行上面生成的命令

    3.分析结果


    7.集成到jenkins

    参考文档:https://www.kancloud.cn/guanfuchang/sonar/909453

  • 相关阅读:
    java工程中如何连接redis数据库?
    linux启动达梦数据库
    Maven项目无法编译resources文件夹下资源
    java 后端定义的大写字段传到前端后变成小写
    springboot同时接收表单数据和文件
    java:Fastjson将object转为json时"$ref"的相关问题
    consul注册中心搭建
    maven-compiler-plugin 插件详解
    org.activiti.api.runtime.shared.UnprocessableEntityException
    https配置
  • 原文地址:https://www.cnblogs.com/zhangshan33/p/12884541.html
Copyright © 2011-2022 走看看