bitnamicharts/sonarqubeSonarQube™ 是一款开源代码质量管理平台,用于分析和度量代码的技术质量。它能帮助开发人员在早期阶段检测代码问题、安全漏洞和缺陷。Bitnami 提供的 SonarQube™ 镜像经过优化,具备易于部署、安全可靠的特点,适用于开发、测试及生产环境。
商标声明:本软件包由 Bitnami 打包。所提及的商标分属各自公司所有,使用这些商标并不意味着任何关联或背书。SonarQube 是 SonarSource SA 的注册商标。
vm.max_map_count、fs.file-max)。docker run 部署bash# 启动 SonarQube(需提前准备外部 PostgreSQL 数据库) docker run -d \ --name sonarqube \ -p 9000:9000 \ -e SONARQUBE_JDBC_URL=jdbc:postgresql://<POSTGRES_HOST>:5432/sonar \ -e SONARQUBE_JDBC_USERNAME=<POSTGRES_USER> \ -e SONARQUBE_JDBC_PASSWORD=<POSTGRES_PASSWORD> \ -e SONARQUBE_USERNAME=admin \ -e SONARQUBE_PASSWORD=<ADMIN_PASSWORD> \ # 至少 12 字符 bitnami/sonarqube:latest
yamlversion: '3.8' services: postgresql: image: bitnami/postgresql:14 environment: - POSTGRESQL_USER=sonar - POSTGRESQL_PASSWORD=sonar_password # 自定义密码 - POSTGRESQL_DATABASE=sonar volumes: - postgresql_data:/bitnami/postgresql networks: - sonarqube-network sonarqube: image: bitnami/sonarqube:latest ports: - "9000:9000" environment: - SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar - SONARQUBE_JDBC_USERNAME=sonar - SONARQUBE_JDBC_PASSWORD=sonar_password - SONARQUBE_USERNAME=admin - SONARQUBE_PASSWORD=admin_password # 至少 12 字符,生产环境建议复杂密码 depends_on: - postgresql volumes: - sonarqube_data:/bitnami/sonarqube networks: - sonarqube-network networks: sonarqube-network: driver: bridge volumes: postgresql_data: sonarqube_data:
启动命令:
bashdocker-compose up -d
bashhelm repo add bitnami [***] helm repo update
bash# 基础安装(使用内置 PostgreSQL) helm install my-sonarqube oci://registry-1.docker.io/bitnamicharts/sonarqube # 指定外部数据库(生产环境推荐) helm install my-sonarqube oci://registry-1.docker.io/bitnamicharts/sonarqube \ --set postgresql.enabled=false \ --set externalDatabase.host=<POSTGRES_HOST> \ --set externalDatabase.user=<POSTGRES_USER> \ --set externalDatabase.password=<POSTGRES_PASSWORD> \ --set externalDatabase.database=sonar \ --set externalDatabase.port=5432
bash# 检查 Pod 状态 kubectl get pods -l app.kubernetes.io/name=sonarqube # 获取访问地址(NodePort 或 Load*** 模式) kubectl get svc my-sonarqube-sonarqube
| 参数 | 描述 | 默认值 |
|---|---|---|
SONARQUBE_JDBC_URL | 数据库连接 URL(格式:jdbc:postgresql://<host>:<port>/<dbname>) | - |
SONARQUBE_JDBC_USERNAME | 数据库用户名 | sonar |
SONARQUBE_JDBC_PASSWORD | 数据库密码 | - |
postgresql.enabled | 是否启用内置 PostgreSQL(Helm Chart 参数) | true |
externalDatabase.host | 外部数据库主机(Helm Chart 参数) | - |
| 参数 | 描述 | 默认值 |
|---|---|---|
sonarqubeUsername | 管理员用户名(Helm Chart) | user |
sonarqubePassword | 管理员密码(至少 12 字符) | 自动生成随机值 |
ingress.enabled | 是否启用 Ingress(Helm Chart) | false |
ingress.hostname | Ingress 访问域名 | sonarqube.example.com |
SonarQube 运行依赖以下内核参数,如未提前配置,可通过 initContainer 自动调整(Helm Chart 默认启用):
yaml# Helm Chart 参数 sysctl: enabled: true # 启用 initContainer 调整内核参数 commands: - sysctl -w vm.max_map_count=262144 - sysctl -w fs.file-max=65536
如需手动调整(非容器环境):
bashsudo sysctl -w vm.max_map_count=262144 sudo sysctl -w fs.file-max=65536
| 参数 | 描述 | 默认值 |
|---|---|---|
persistence.enabled | 是否启用持久化存储(Helm Chart) | true |
persistence.size | PVC 存储大小 | 10Gi |
volumePermissions.enabled | 是否启用 initContainer 调整存储权限(解决非 root 用户写入问题) | false(默认通过 securityContext 调整) |
启用 Prometheus 监控(Helm Chart):
yamlmetrics: enabled: true # 启用 JMX Exporter 侧car容器 jmx: enabled: true port: *** # metrics 暴露端口 serviceMonitor: enabled: true # 生成 ServiceMonitor 资源(需 Prometheus Operator)
Bitnami 将调整公共镜像目录,推出 Bitnami Secure Images 计划,主要变更包括:
10.6、9.9.0)将迁移至 docker.io/bitnamilegacy 仓库,不再更新。详情参见 Bitnami Secure Images 公告。
sonarqubePassword,长度至少 12 字符。sonar.forceAuthentication=true 强制 HTTPS。privileged 模式(Helm Chart 中 sysctl.enabled=true 时需特权 initContainer,建议生产环境提前配置内核参数并禁用该 initContainer)。| 参数名称 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局镜像仓库地址 | "" |
global.imagePullSecrets | 镜像拉取密钥列表 | [] |
global.defaultStorageClass | 全局默认存储类 | "" |
global.security.allowInsecureImages | 是否允许不安全镜像(跳过校验) | false |
| 参数名称 | 描述 | 默认值 |
|---|---|---|
sonarqubeUsername | 管理员用户名 | user |
sonarqubePassword | 管理员密码(至少 12 字符) | ""(自动生成) |
provisioningFolder | 配置文件挂载目录(用于自定义规则、质量配置等) | /bitnami/sonarqube/conf/provisioning |
extraEnvVars | 额外环境变量列表(如 LOG_LEVEL=ERROR) | [] |
完整参数列表参见 Bitnami SonarQube Helm Chart 文档。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务