千家信息网

Kubernetes安装sonarqube的教程

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groo
千家信息网最后更新 2025年12月03日Kubernetes安装sonarqube的教程

SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。

1、总览

SonarQube平台由4个组件组成:

  1. 一台SonarQube Server启动3个主要过程:

  • Web服务器,供开发人员,管理人员浏览高质量的快照并配置SonarQube实例

  • 基于Elasticsearch的Search Server从UI进行后退搜索

  • Compute Engine服务器,负责处理代码分析报告并将其保存在SonarQube数据库中

一个SonarQube数据库要存储:

  • SonarQube实例的配置(安全性,插件设置等)

  • 项目,视图等的质量快照。

服务器上安装了多个SonarQube插件,可能包括语言,SCM,集成,身份验证和管理插件

在构建/持续集成服务器上运行一个或多个SonarScanner,以分析项目

2、架构

以下架构显示了SonarQube如何与其他ALM工具集成以及使用SonarQube的各种组件的位置。

  1. 开发人员在其IDE中进行编码,并使用SonarLint运行本地分析。

  2. 开发人员将他们的代码放入他们最喜欢的SCM中:git,SVN,TFVC等。

  3. Continuous Integration Server会触发自动生成,并执行运行SonarQube分析所需的SonarScanner。

  4. 分析报告将发送到SonarQube服务器进行处理。

  5. SonarQube Server处理分析报告结果并将其存储在SonarQube数据库中,并在UI中显示结果。

  6. 开发人员通过SonarQube UI审查,评论,挑战他们的问题,以管理和减少技术债务。

  7. 经理从分析中接收报告。Ops使用API自动执行配置并从SonarQube提取数据。运维人员使用JMX监视SonarQube Server。

3、关于服务器

  • SonarQube平台不能具有多个SonarQube服务器(尽管该服务器可以作为集群安装)和一个SonarQube数据库。

  • 为了获得最佳性能,应将每个组件(服务器,数据库,扫描仪)安装在单独的计算机上,并且服务器计算机应专用。

  • SonarScanners通过添加机器进行扩展。

  • 所有机器必须时间同步。

  • SonarQube服务器和SonarQube数据库必须位于同一网络中

  • SonarScanners不需要与SonarQube Server位于同一网络上。

  • 没有沟通之间SonarScannersSonarQube数据库

4、安装

前提环境需要k8s集群和helm

helm pull stable/sonarqube
tar xvf sonarqube-3.2.7.tgz
vim sonarqube/values.yam

设置用户和密码

helm install sonarqube ./sonarqube#报错原因是我的集群是1.16版本了Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"

grep -irl "extensions/v1beta1" sonarqube | grep deployment

grep -irl "extensions/v1beta1" sonarqube | grep deploy | xargs sed -i 's#extensions/v1beta1#apps/v1#g'

再次执行安装

helm install sonarqube ./sonarqubeError: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec

grep -irl "apps/v1" sonarqube | grep deployment

依次修改以上文件。

vim sonarqube/templates/deployment.yaml

vim sonarqube/charts/postgresql/templates/deployment.yaml

vim sonarqube/charts/mysql/templates/deployment.yaml

再次执行安装

pod需要请求pv,这里使用hostpath

cat pv/pv1.yaml apiVersion: v1kind: PersistentVolumemetadata:  name: sonarqube-pv1spec:  capacity:    storage: 10Gi  volumeMode: Filesystem  accessModes:  -  ReadWriteOnce  persistentVolumeReclaimPolicy: Retain  hostPath:    path: /helm/sonarqube/pv1

稍等会儿就能看到pod状态

完美结束!

服务器 服务 数据 数据库 分析 人员 管理 代码 报告 插件 质量 开发 分析报告 多个 平台 组件 集群 处理 运行 配置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 mysql数据库密码查看 教育系统网络安全攻防演练 国家规定网络安全几年检查一次 手机网络不稳定无法连接服务器 数据库设计pdm 互联网大会 科技感 网络安全法的三要素是什么 qq邮箱邮件服务器地址 国产系统深度服务器版 河北盘古网络技术公司boss 数据库上课日期为三月 深圳德科网络技术有限公司怎么样 这区我最吊猎人服务器 网络安全应急预案工作指南 网络安全法从什么时候实施的 软件开发公司用电量如何估算 广东农产品配送软件开发 原神国际版哪个服务器多人 工业翼网络技术有限公司地址 朋友圈发游戏需要租服务器吗 杭州蔚游网络技术 中山网络安全学习 星联网络技术 浙江金服杭州网络技术有限公司 北京戴尔服务器回收价格行情 sql拆分数据库文件 国家间网络安全合作 日活5000 服务器 网络技术岗位是干啥的 h5提交后数据库不显示
0