代码分析

  • IDE辅助功能:xcode、android studio
  • 独立的静态分析工具:findbugs、androidlint、scan-build、pmd、阿里巴巴java开发规范pmd插件

代码审计关注的质量指标

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

代码静态检查

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

sonarqube架构

代码分析体系及Sonarqube平台_docker

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/​

代码分析体系及Sonarqube平台_静态分析_02

sonarqube的代码分析流程

想学好sonarqube平台,就要先从sonarqube架构开始学习。了解架构后,在进行部署等操作。后面我们会继续为大家介绍Sonqrqube scanner的使用等,敬请期待哦~​