要求
对接sonarqube需提前准备好sonarqube的token及访问地址。
如还未安装sonarqube,可参考如下方式安装sonarqube。
安装sonarqube(已有可用sonarqube可忽略)
namespace可自由设定
helm upgrade --install sonarqube sonarqube --repo https://charts.kubesphere.io/main -n kubesphere-devops-system --create-namespace --set service.type=NodePort
根据提示获取sonarqube登录信息
export NODE_PORT=$(kubectl get --namespace kubesphere-devops-system -o jsonpath="{.spec.ports[0].nodePort}" services sonarqube-sonarqube)
export NODE_IP=$(kubectl get nodes --namespace kubesphere-devops-system -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
获取sonarqube token
登录sonarqube
user: admin
password: admin
My Account –> Security –> Tokens
填入token名称,点击Generate创建token
记录token值,备用
配置sonarqube参数
kubectl edit cc -n kubesphere-system ks-installer
devops下添加sonarqube的url及token参数,并填入前述步骤获取的相关值:externalSonarUrl、externalSonarToken,填写参数完成后保存退出即可。
创建webhook
获取webhook地址
export NODE_PORT=$(kubectl get --namespace kubesphere-devops-system -o jsonpath="{.spec.ports[0].nodePort}" services ks-jenkins)
export NODE_IP=$(kubectl get nodes --namespace kubesphere-devops-system -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/sonarqube-webhook/
Administration –> Configuration –> Webhooks 新建webhook,填入webhook信息后点击创建。