要求

对接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信息后点击创建。

    9 天 后

    配置完成之后,需要重启 apiserver

    kubectl -n kubesphere-system rollout restart deploy ks-apiserver

    在 Jenkins 的后台,还需要增加 Sonarqube Server,使用 管理员的 Token。

    为了从 UI 页面直接能够点击跳转到 Sonarqube 页面,需要如下配置

    kubectl edit  cm -n kubesphere-system  ks-console-config

    新增如下内容:

    client:
          devops:
            sonarqubeURL: http://xxx.com:31725

    重启服务

    kubectl -n kubesphere-system rollout restart deploy ks-console
      8 天 后

      jwangkun

      可以用helm的–set参数设置一下service的类型为nodeport哦,或者自己定义chart的values.yaml。

      helm upgrade --install sonarqube sonarqube --repo https://charts.kubesphere.io/main -n kubesphere-devops-system  --create-namespace --set service.type=NodePort
        9 天 后

        shaowenchen 大佬,请问一下,我按照你的教程安装了sonarqube之后,流水线代码检查完毕了,kubesphere确没有代码检查的可视化界面是什么回事啊

          shaowenchen 修改kubesphere连接sonarqube的ip端口 为sonarqube容器的端口之后, 就有可视化界面, 使用headless服务暴露的节点ip+35343端口就无法建立连接

          9 天 后
          6 天 后

          Cauchy 安装sonarqube时,postgresql启动失败,请问这个是什么原因?

          [root@crm-server logs]# kubectl logs -n kubesphere-devops-system sonarqube-postgresql-0 -f
          postgresql 07:38:18.62 
          postgresql 07:38:18.62 Welcome to the Bitnami postgresql container
          postgresql 07:38:18.63 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-postgresql
          postgresql 07:38:18.63 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-postgresql/issues
          postgresql 07:38:18.63 Send us your feedback at containers@bitnami.com
          postgresql 07:38:18.63 
          postgresql 07:38:18.64 INFO  ==> ** Starting PostgreSQL setup **
          postgresql 07:38:18.73 INFO  ==> Validating settings in POSTGRESQL_* env vars..
          postgresql 07:38:18.73 INFO  ==> Loading custom pre-init scripts...
          postgresql 07:38:18.74 INFO  ==> Initializing PostgreSQL database...
          postgresql 07:38:18.77 INFO  ==> postgresql.conf file not detected. Generating it...
          postgresql 07:38:18.78 INFO  ==> pg_hba.conf file not detected. Generating it...
          postgresql 07:38:18.79 INFO  ==> Generating local authentication configuration
          postgresql 07:38:19.46 INFO  ==> Stopping PostgreSQL...
          1 个月 后

          商业产品与合作咨询