You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kubernetes集群中的SonarQube上安装sonar-golang插件

在Kubernetes上为SonarQube安装sonar-golang插件的方法

方法一:通过SonarQube Web UI安装(最简便)

不管是Kubernetes还是单机部署,SonarQube的Web UI插件安装功能通用:

  • 登录SonarQube管理员账号,进入Administration > Marketplace
  • 在搜索框输入Go,找到sonar-golang插件
  • 点击Install,安装完成后按提示重启SonarQube实例
  • 执行命令重启K8s中的SonarQube Pod:kubectl rollout restart deployment <sonarqube-deployment-name>

注意:如果SonarQube配置了持久化存储,插件会保存在持久卷中,重启后不会丢失;未配置持久化的话,重启Pod后插件会消失,建议用下面的方法。

方法二:自定义SonarQube镜像(适合批量部署或无持久化场景)

要让插件随镜像一起部署,避免每次重启丢失,可以基于官方镜像构建自定义镜像:

  1. 创建Dockerfile:
FROM sonarqube:<你的SonarQube版本号>
# 替换为对应版本的插件下载路径(可从SonarQube Marketplace获取)
RUN curl -o $SONARQUBE_HOME/extensions/plugins/sonar-golang-plugin-<版本号>.jar https://<插件下载地址>
  1. 构建镜像:
docker build -t custom-sonarqube:with-golang .
  1. 将镜像推送到你的容器仓库,更新K8s Deployment配置使用该自定义镜像
  2. 应用配置:kubectl apply -f <sonarqube-deployment.yaml>

方法三:通过K8s ConfigMap挂载插件(临时测试场景)

如果只是临时验证插件,不想构建镜像,可通过ConfigMap挂载插件文件:

  1. 下载sonar-golang插件jar包到本地
  2. 创建ConfigMap:
kubectl create configmap sonar-golang-plugin --from-file=sonar-golang-plugin-<版本号>.jar
  1. 修改SonarQube的Deployment配置,添加挂载:
volumes:
  - name: golang-plugin
    configMap:
      name: sonar-golang-plugin
containers:
  - name: sonarqube
    volumeMounts:
      - name: golang-plugin
        mountPath: /opt/sonarqube/extensions/plugins/sonar-golang-plugin-<版本号>.jar
        subPath: sonar-golang-plugin-<版本号>.jar
  1. 应用配置并重启Pod:kubectl apply -f <sonarqube-deployment.yaml>

注意:这种方式下插件文件为只读状态,部分场景下可能因权限问题导致运行异常,仅适合临时测试。


内容的提问来源于stack exchange,提问作者Red Bottle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 09:39:55