企业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 服务已正常搭建。

相关文章
|
弹性计算 运维 Serverless
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
221 1
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
运维 Devops 测试技术
云效DevOps:加速企业数字化转型的利器
云效DevOps是阿里巴巴推出的企业级一站式平台,覆盖需求管理到应用运维全生命周期。其核心价值包括全流程自动化、高效协同、质量保障与可视化度量。功能涵盖代码管理、持续集成、持续交付及应用运维,支持微服务架构、大规模团队协作等最佳实践。成功案例显示,云效显著提升企业软件交付效率与质量,助力数字化转型,未来将融合AI技术实现更智能的交付体验。
403 11
|
运维 监控 Devops
DevOps文化下的企业运维转型
【8月更文挑战第22天】在数字化转型的浪潮中,DevOps不仅仅是一种技术实践,更是一种企业文化。本文将探讨如何在DevOps文化的引导下,实现企业运维的高效转型,包括理念更新、流程优化和团队协作等方面。我们将一起思考如何打破传统壁垒,构建一个更加灵活、高效和协同的运维体系,以应对不断变化的市场和技术挑战。
239 1
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
763 30
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之缺陷等级管理是否是企业自己划定
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何管理企业的组织架构
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 测试技术 API
阿里云云效产品使用合集之一个企业可以绑定几个云效
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。