代码分析体系及Sonarqube平台

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 代码分析体系及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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
4月前
|
C语言 开发者
Makefile 简介:自动化你的构建过程
一旦`Makefile`被正确设置,你只需要在命令行中运行命令`make`,它会查找当前目录下的`Makefile`文件,并执行其中定义的规则来构建目标。`make`命令非常智能,它会检查文件的时间戳,只重新编译那些自上次编译后有改动的文件。 总之,`Makefile`是开发者的强大工具,能够大幅提升软件开发的效率和准确性。通过学习和使用`Makefile`,你可以更有效地管理项目构建过程,使其自动化、高效且可靠。
36 1
|
存储 安全 分布式数据库
USDToch智能合约系统开发详细功能/方案介绍/案例分析/源码部署
  区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)。从本质上看,区块链是通过去中心化和去信任化,集体维护、分布式存储的可靠数据库。
|
jenkins Java 关系型数据库
jenkins持续集成从0入门到实战【八】集成sonarqube代码检测
SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检 测。
376 1
jenkins持续集成从0入门到实战【八】集成sonarqube代码检测
|
Python
接口自动化框架(Python)之 一,如何规划自动化框架
接口自动化框架(Python)之 一,如何规划自动化框架
140 0
接口自动化框架(Python)之 一,如何规划自动化框架
|
小程序 测试技术 开发工具
【小程序自动化Minium】一、框架介绍和环境搭建
【小程序自动化Minium】一、框架介绍和环境搭建
【小程序自动化Minium】一、框架介绍和环境搭建
|
jenkins 持续交付 开发工具
SonarQube集成Jenkins自动化检查代码
SonarQube集成Jenkins自动化检查代码
SonarQube集成Jenkins自动化检查代码
|
IDE 安全 Java
代码分析体系及Sonarqube平台
## 代码分析 - IDE辅助功能:xcode、android studio - 独立的静态分析工具:findbugs、androidlint、scan-build、pmd、阿里巴巴java开发规范pmd插件 ![](https://ceshiren.com/uploads/default/original/3X/7/1/71ff88b1b42cf1b1379ff4ad12d4c8045b78
|
监控 Java 测试技术
方案设计:基于IDEA插件开发和字节码插桩技术,实现研发交付质量自动分析
前言 二、技术实现准备 三、对字节码插桩 1. 方法入口 2. 采集信息 四、IDEA 插件开发 五、效果演示 六、总结 七、系列推荐
425 0
方案设计:基于IDEA插件开发和字节码插桩技术,实现研发交付质量自动分析
|
安全 关系型数据库 Java
在阿里云环境下搭建基于SonarQube的自动化安全代码检测平台
本文目的主要是提供一种思路和方法,让软件开发者像测试软件功能一样,测试软件安全缺陷,并且能够融入到整个的软件开发过程中。
9026 0
下一篇
无影云桌面