Kubernetes安装sonarqube的教程
admin
2023-03-26 19:01:26
0

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

1、总览

SonarQube平台由4个组件组成:Kubernetes安装sonarqube的教程

Kubernetes安装sonarqube的教程

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

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

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

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

一个SonarQube数据库要存储:

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

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

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

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

2、架构

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

Kubernetes安装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

设置用户和密码

Kubernetes安装sonarqube的教程

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 ./sonarqube

Error: 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

Kubernetes安装sonarqube的教程

依次修改以上文件。

vim sonarqube/templates/deployment.yaml

Kubernetes安装sonarqube的教程

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

Kubernetes安装sonarqube的教程

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

Kubernetes安装sonarqube的教程

再次执行安装Kubernetes安装sonarqube的教程

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

Kubernetes安装sonarqube的教程

cat pv/pv1.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: sonarqube-pv1
spec:
  capacity:
    storage: 10Gi
  volumeMode: Filesystem
  accessModes:
  -  ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: /helm/sonarqube/pv1

稍等会儿就能看到pod状态

Kubernetes安装sonarqube的教程

完美结束!

相关内容

热门资讯

终于了解“边锋老友棋牌真的有挂... 家人们!今天小编来为大家解答边锋老友棋牌透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
原创 保... 在保定这座快速数字化的城市中,小程序开发公司如雨后春笋般涌现,为本地企业提供了便捷的移动互联网解决方...
50年内或将发现外星生命?英国... 近日,英国著名空间科学家、伦敦大学学院物理与天文系教授玛吉·阿德林-波科克表示,人类有望在未来50年...
玩家分享攻略“卡农牛牛怎么装挂... 家人们!今天小编来为大家解答卡农牛牛透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
荣耀WIN评测:定义年度电竞夯... 去年末,荣耀GT横空而出,这标志荣耀全面进军电竞性能手机赛道。一年间,荣耀凭借在设计、续航、散热、稳...
我来教教您“麦穗app推筒子到... 网上科普关于“麦穗app推筒子有没有挂”话题很是火热,小编也是针对麦穗app推筒子作*弊开挂的方法以...
玩家分享攻略“新战皇牛牛怎么装... 玩家分享攻略“新战皇牛牛怎么装挂?”(果然有透视挂)您好,新战皇牛牛这个游戏其实有挂的,确实是有挂的...
我来教教您“传送屋激k有挂吗?... 有 亲,根据资深记者爆料传送屋激k是可以开挂的,确实有挂(咨询软件无需打...
今日重大消息“九酷牛牛有没有挂... 有 亲,根据资深记者爆料九酷牛牛是可以开挂的,确实有挂(咨询软件无需打开...
我来教教您“嘟嘟十三张有没有挂... 家人们!今天小编来为大家解答嘟嘟十三张透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买...