6.云原生之jenkins集成SonarQube

文章目录

搭建 SonarQube

添加应用仓库https://charts.kubesphere.io/main,在仓库中安装SonarQube

搭建 SonarQube 并配置到 KubeSphere 将 SonarQube 集成到流水线 【应用仓库安装】

sonarqube地址:

yaml 复制代码
sonarqu-base-sonarqube.base.svc.cluster.local:9000
master_ip:32545

配置SonarQube

创建sonar-token生成令牌

240cb3903f4ee4aba15f531686dc6bc598c28cc3

查看jenkins暴露的NodePort端口

http://master节点ip:30180/sonarqube-webhook/

http://devops-jenkins.kubesphere-devops-system.svc.cluster.local

创建Webhook 服务器

点击下图create配置Jenkins Console URL

可使用内网域名:devops-jenkins.kubesphere-devops-system.svc.cluster.local

端口使用80

将 SonarQube 配置添加到 ks-installer


搜索devops修改配置保存

yaml 复制代码
  devops:
    enabled: true
    jenkinsMemoryLim: 8Gi
    jenkinsMemoryReq: 2Gi
    jenkinsVolumeSize: 8Gi
    # 添加如下配置
    sonarqube: # Add this field manually.
      externalSonarUrl: http://sonarqu-base-sonarqube.base.svc.cluster.local:9000 # SonarQube的IP地址.
      externalSonarToken: 240cb3903f4ee4aba15f531686dc6bc598c28cc3

Jenkins集成SonarQube

将 SonarQube 服务器添加至 Jenkins

jenkins地址:

yaml 复制代码
http://devops-jenkins.kubesphere-devops-system.svc.cluster.local:80
http://master_ip:30180

请使用地址 http://:30180 访问 Jenkins。安装 KubeSphere 时,默认情况下也会安装 Jenkins 仪表板。此外,Jenkins 还配置有 KubeSphere LDAP,这意味着您可以直接使用 KubeSphere 帐户(例如 admin/P@88w0rd)登录 Jenkins。有关配置 Jenkins 的更多信息,请参见 Jenkins 系统设置

jenkins配置SonarQube

点击左侧导航栏中的系统管理->向下翻页找到并点击系统配置->搜寻到 SonarQube servers ,然后点击 Add SonarQube

jenkins中配置SonarQube

输入 NameServer URL (http://:)

yaml 复制代码
http://sonarqu-base-sonarqube.base.svc.cluster.local:9000
http://192.168.31.21:32545

创建Jenkins凭证

点击添加 ,选择 Jenkins ,然后在弹出的对话框中用 SonarQube 管理员令牌创建凭证。创建凭证后,从 Server authentication token 旁边的下拉列表中选择该凭证。点击应用 完成操作。

填写SonarQube生成的凭证240cb3903f4ee4aba15f531686dc6bc598c28cc3

将 sonarqubeURL 添加到 KubeSphere 控制台

搜寻到 data.client.enableKubeConfig,在下方添加 devops 字段并指定 sonarqubeURL。

yaml 复制代码
client:
  enableKubeConfig: true
  devops: # 手动添加该字段。
    sonarqubeURL: http://sonarqu-base-sonarqube.base.svc.cluster.local:9000 # SonarQube IP 地址。

重启服务

yaml 复制代码
kubectl -n kubesphere-devops-system rollout restart deploy devops-apiserver
kubectl -n kubesphere-system rollout restart deploy ks-console

为新项目创建 SonarQube Token

您需要一个 SonarQube 令牌,以便您的流水线可以在运行时与 SonarQube 通信。

  1. 在 SonarQube 控制台上,点击 Create new project


  1. 输入项目密钥,例如 java-demo,然后点击 Set Up
  1. 输入项目名称,例如 java-sample,然后点击 Generate
  1. 创建令牌后,点击 Continue

b0ce224cf5d9fcd36509c86c968faf195b82a0e5

  1. 分别选择 JavaMaven 。复制下图所示绿色框中的序列号,如果要在流水线中使用,则需要在凭证中添加此序列号
yaml 复制代码
mvn sonar:sonar \
  -Dsonar.projectKey=java-demo \
  -Dsonar.host.url=http://192.168.31.21:32545 \
  -Dsonar.login=b0ce224cf5d9fcd36509c86c968faf195b82a0e5
相关推荐
wei_shuo7 分钟前
从云原生部署到智能时序分析:基于 Kubernetes 的 Apache IoTDB 集群实战与 TimechoDB 国产化增强特性深度解析
云原生·kubernetes·iotdb
做运维的阿瑞10 分钟前
Kubernetes 原生滚动更新(Rolling Update)完整实践指南
云原生·容器·kubernetes
勇往直前plus2 小时前
centos7利docker compose 快速部署 Elasticsearch + Kibana
elasticsearch·docker·jenkins
奥尔特星云大使11 小时前
《系统规划与管理师教程(第2版)》方法篇 第10章 云原生系统规划 知识点总结
云原生·软考·高级·系规
熙客12 小时前
Kubernetes是如何保证有状态应用数据安全和快速恢复的
mysql·云原生·容器·kubernetes
pursue.dreams13 小时前
Ubuntu安装Jenkins完整教程
linux·ubuntu·jenkins
城南花开时13 小时前
CICD工具,Jenkins or Tekton or Arbess一文全面对比评测
jenkins·tekton
非典型代码13 小时前
Jenkins发不出邮件
运维·servlet·jenkins
Wang's Blog13 小时前
Nestjs框架: 微服务项目工程结构优化与构建方案
微服务·云原生·架构·nestjs
似水流年 光阴已逝15 小时前
Kubernetes Pod 基本原理:全面详解
云原生·容器·kubernetes·pod