代码分析体系及Sonarqube平台

72 阅读1分钟

代码分析

  • IDE辅助功能:xcode、android studio

    • 独立的静态分析工具:findbugs、androidlint、scan-build、pmd、阿里巴巴java开发规范pmd插件

代码审计关注的质量指标

                                           ##                                        

获取更多技术文章

  • bug和漏洞
    • 单元测试规模
    • 覆盖率分析

代码静态检查

  • 代码语法分析:lint系列,通过分析语法树和源代码,检查代码规范
    • 编译器分析:借助于编译器获得代码关系
    • 字节码静态分析:分析jar、war、dex等格式的文件,代表工具:findbugs

sonarqube架构

sonarqube部署

临时性的部署

docker run -d --name sonarqube \
-p 9000:9000 -p 9092:9092 \
sonarqube

正式部署,最新版本的sonarqube不再支持mysql了

docker run -d \
    --name sonarqube_postgres \
        -e POSTGRES_USER=sonarqube \
            -e POSTGRES_PASSWORD=sonarqube \
                -e PGDATA=/var/lib/postgresql/data/pgdata \
                    -v $PWD/postgresql:/var/lib/postgresql/data \
                        postgres
                        
                        mkdir sonarqube_data sonarqube_extensions sonarqube_logs
                        chown -R 999:999 sonarqube_data sonarqube_extensions sonarqube_logs
                        docker run -d  --name sonarqube_hogwarts -p 9000:9000 -p 9092:9092 --link sonarqube_postgres:db \
                             -e SONARQUBE_JDBC_USERNAME=sonarqube -e SONARQUBE_JDBC_PASSWORD=sonarqube \
                                 -e SONARQUBE_JDBC_URL="jdbc:postgresql://db/sonarqube" \
                                     -v $PWD/sonarqube_data:/opt/sonarqube/data \
                                         -v $PWD/sonarqube_extensions:/opt/sonarqube/extensions \
                                             -v $PWD/sonarqube_logs:/opt/sonarqube/logs \
                                             sonarqube
                                             
                                             ```
                                             
                                             
                                             ## 默认配置
                                             
                                             用户名密码:admin admin
                                             http://sonarqube.testing-studio.com/
                                             
                                             ![](https://ceshiren.com/uploads/default/original/3X/d/e/dec49808a08cba493ce6c1378c4ef0a00ea42835.png)
                                             
                                             ## sonarqube的代码分析流程
                                             
                                             
                                             
                                             想学好sonarqube平台,就要先从sonarqube架构开始学习。了解架构后,在进行部署等操作。后面我们会继续为大家介绍Sonqrqube scanner的使用等,敬请期待哦~