文章目录
-
- [搭建 SonarQube](#搭建 SonarQube)
- 配置SonarQube
-
- 创建sonar-token生成令牌
- 查看jenkins暴露的NodePort端口
- [创建Webhook 服务器](#创建Webhook 服务器)
- [将 SonarQube 配置添加到 ks-installer](#将 SonarQube 配置添加到 ks-installer)
- Jenkins集成SonarQube
-
- [将 SonarQube 服务器添加至 Jenkins](#将 SonarQube 服务器添加至 Jenkins)
- jenkins配置SonarQube
- jenkins中配置SonarQube
- 创建Jenkins凭证
- [将 sonarqubeURL 添加到 KubeSphere 控制台](#将 sonarqubeURL 添加到 KubeSphere 控制台)
- 重启服务
- [为新项目创建 SonarQube Token](#为新项目创建 SonarQube Token)
搭建 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
输入 Name 和 Server 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 通信。
- 在 SonarQube 控制台上,点击 Create new project。
- 输入项目密钥,例如 java-demo,然后点击 Set Up
- 输入项目名称,例如 java-sample,然后点击 Generate
- 创建令牌后,点击 Continue
b0ce224cf5d9fcd36509c86c968faf195b82a0e5
- 分别选择 Java 和 Maven 。复制下图所示绿色框中的序列号,如果要在流水线中使用,则需要在凭证中添加此序列号
yaml
mvn sonar:sonar \
-Dsonar.projectKey=java-demo \
-Dsonar.host.url=http://192.168.31.21:32545 \
-Dsonar.login=b0ce224cf5d9fcd36509c86c968faf195b82a0e5