企业DevOps之路:SonarQube代码质量平台

简介: SonarQube 是一个静态代码分析平台,用来持续分析和评测代码的质量,支持检测 Java、JavaScript、C#、C、C++ 等二十几种编程语言。通过 SonarQube 可以检测出项目中潜在的Bug、漏洞、代码规范、重复代码、缺乏单元测试的代码等问题,并提供了 UI 界面进行查看和管理。

1. SonarQube 概述


SonarQube 是一个静态代码分析平台,用来持续分析和评测代码的质量,支持检测 Java、JavaScript、C#、C、C++ 等二十几种编程语言。通过 SonarQube 可以检测出项目中潜在的Bug、漏洞、代码规范、重复代码、缺乏单元测试的代码等问题,并提供了 UI 界面进行查看和管理。


SonarQube 由4部分构成:


  • SonarQube Server

SonarQube Server 会启动3个主要进程:Web Server:UI 管理界面 Search Server:基于 Elasticsearch 的搜索服务 Compute Engine Server:计算引擎服务,进行代码分析并保存到SonarQube Database


  • SonarQube Database

存储 SonarQube 实例的配置信息,项目、视图等的快照信息


  • SonarQube Scanners

分析项目代码,可在构建、持续集成服务器上运行一个或多个


  • SonarQube Plugins

SonarQube 插件管理


架构如下:


微信图片_20220504084525.png


2. SonarQube 安装


在安装 SonarQube 之前,需要先安装 jdk(jdk版本11及以上版本)和 PostgreSQL(最新版已经不支持MySQL数据库了)


  • 下载


https://www.sonarqube.org/downloads/


因为 SonarQube 分为社区版和商业版。下载社区版


微信图片_20220504084530.png


下载完是一个zip压缩包,直接解压接口。这里解压到以下目录


C:\jenkins\sonarqube-9.3.0


  • 创建数据库

创建 SonarQube 服务连接的数据库,库名为sonar


  • 配置

修改 SonarQube 的 数据库配置,对应的配置文件如下:


C:\jenkins\sonarqube-9.3.0\conf\sonar.properties


增加如下配置


sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:postgresql://localhost/sonar?currentSchema=public


3. 启动 SonarQube


SonarQube 服务的启动脚本在如下目录


C:\jenkins\sonarqube-9.3.0\bin


根据不同平台选择不同启动脚本。目前安装在windows系统,所以对应的启动脚本


C:\jenkins\sonarqube-9.3.0\bin\windows-x86-64\StartSonar.bat


启动成功提示如下


微信图片_20220504084535.png


对应的 sonar 数据库会自动增加很多 SonarQube 服务的表结构


4. 访问 SonarQube 服务


SonarQube 服务的默认端口是9000,访问如下地址


http://localhost:9000


默认登录账号/密码:admin / admin。登录后的第一步就是修改 admin 用户的密码,根据实际情况修改自己的密码即可。进入首页如下:


微信图片_20220504084539.png


至此,SonarQube 服务已正常搭建。

相关文章
|
7天前
|
安全 API 持续交付
阿里云云效产品使用问题之如何从流水线访问内网平台的HTTP接口
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
9天前
|
弹性计算 数据可视化 安全
高效部署企业门户网站【阿里云云效平台详细指南】
使用阿里云云效部署企业网站涉及备案域名、ECS、VPC、云效代码仓库和流水线。一键部署通过ROS快速配置,手动部署则需详细配置流水线,包括代码源、构建、部署到ECS。整个流程约10分钟,但需注意网络问题可能导致的异常。一键部署适合快速启动,手动部署适合定制化。文档详细,但可增加常见问题解答和自动化脚本支持。
132 2
高效部署企业门户网站【阿里云云效平台详细指南】
|
7天前
|
运维 Kubernetes Devops
阿里云云效操作报错合集之Message: code: 403, 当前代码组下无法创建可见性为企业可见的代码库,该如何处理
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
2月前
|
运维 安全 Cloud Native
解读平台工程,DevOps真的死了吗?不,它只是换了个马甲而已,依然是DevOps的延续
最近平台工程这个概念越来越火爆,Gartner 的预测,到 2026 年,80% 的软件工程组织将拥有平台工程团队,来提供内部服务、组件和应用程序交付工具,作为可重复使用的资源。本篇文章将带你走进平台工程,了解它的起源和解决的问题。
134 0
|
7天前
|
敏捷开发 Kubernetes 网络安全
阿里云云效产品使用问题之代码从一个账号迁移到另一个账号(从一个企业迁移到另一个企业),该如何迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
10月前
|
安全 数据可视化 Devops
阿里云云原生 DevOps - 云效平台核心价值与优势
阿里云云原生 DevOps - 云效平台核心价值与优势
656 0
阿里云云原生 DevOps - 云效平台核心价值与优势
|
10月前
|
Cloud Native 数据可视化 Devops
阿里云云原生 DevOps - 云原生时代企业 DevOps 诉求
阿里云云原生 DevOps - 云原生时代企业 DevOps 诉求
159 0
阿里云云原生 DevOps - 云原生时代企业 DevOps 诉求
|
2月前
|
Devops 开发工具 数据安全/隐私保护
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
172 0
|
2月前
|
运维 监控 持续交付
阿里云云效:为企业打造高效、可靠的云端开发体验
阿里云云效:为企业打造高效、可靠的云端开发体验
41 0
|
7月前
|
敏捷开发 运维 监控
企业DevOps转型所需的资质
企业DevOps转型所需的资质
51 0