代码分析体系及Sonarqube平台

简介: 代码分析体系及Sonarqube平台

代码分析

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


sonarqube的代码分析流程

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



相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
iOS开发 Python
mac:python安装路径
了解python的安装路径,有利于处对python安装的管理。比如删除多余的python,可以在这些路径中查询处理。
1879 0
|
容灾 关系型数据库 数据库
阿里云RDS服务巴黎奥运会赛事系统,助力云上奥运稳定运行
2024年巴黎奥运会,阿里云作为官方云服务合作伙伴,提供了稳定的技术支持。云数据库RDS通过备份恢复、实时监控、容灾切换等产品能力,确保了赛事系统的平稳运行。
 阿里云RDS服务巴黎奥运会赛事系统,助力云上奥运稳定运行
|
数据采集 Python
Python:某市公交线路站点的爬虫实现
Python:某市公交线路站点的爬虫实现
231 1
|
数据采集 存储 DataWorks
DataWorks Copilot:让你的数据质量覆盖率一键飞升!
在数据加工链路中,如何确保高质量的数据产出是一个一直需要重点解决的问题。阿里云DataWorks的数据质量规则模板可以帮助用户建设数据质量,在离线表上定义相关的规则。为优化手动配置规则的工作量,DataWorks的智能助手 DataWorks Copilot 推出了数据质量规则推荐功能,您可以使用这一功能,一键提升数据质量覆盖度。
1001 20
DataWorks Copilot:让你的数据质量覆盖率一键飞升!
|
SQL 消息中间件 Serverless
​Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
​Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
368 4
|
消息中间件 缓存 NoSQL
Redis快速度特性及为什么支持多线程及应用场景
Redis快速度特性及为什么支持多线程及应用场景
305 11
|
机器学习/深度学习 自然语言处理 算法
NLP技术在聊天机器人中的应用:技术探索与实践
【7月更文挑战第13天】NLP技术在聊天机器人中的应用已经取得了显著的成果,并将在未来继续发挥重要作用。通过不断探索和创新,我们可以期待更加智能、自然的聊天机器人的出现,为人类生活带来更多便利和乐趣。
|
消息中间件 分布式计算 搜索推荐
【KafkaStream】微服务学习笔记十一:流式计算概述&KafkaStream入门
【KafkaStream】微服务学习笔记十一:流式计算概述&KafkaStream入门
942 0
【KafkaStream】微服务学习笔记十一:流式计算概述&KafkaStream入门
|
存储 监控 物联网
MQTT协议问题之OTA升级包下载如何解决
MQTT协议是一个轻量级的消息传输协议,设计用于物联网(IoT)环境中设备间的通信;本合集将详细阐述MQTT协议的基本原理、特性以及各种实际应用场景,供用户学习和参考。
741 3
|
算法 Java 开发工具
Android 编译C++
Android 编译C++
360 0