ictu/sonarICTU SonarQube 容器镜像是ICTU内部使用的SonarQube部署版本,集成了预配置的插件、质量配置文件和默认设置,旨在简化代码质量分析流程。该镜像基于官方SonarQube构建,针对ICTU项目需求进行定制优化。
项目地址:<[***]>
EXTENDED/DEFAULT后缀)扩展或保留默认配置容器启动时,将为支持的语言自动创建质量配置文件,新配置文件默认设为项目默认配置。
扩展默认配置文件:
EXTENDED(或小写extended)结尾保留默认配置文件:
DEFAULT(或小写default)结尾警告:在
EXTENDED配置文件中,若对Sonar Way配置文件中原先禁用的规则进行调整,该调整在SonarQube实例重启后将无法保留。
通过环境变量自定义项目级质量规则,实现对ICTU标准质量配置文件的覆盖。
| 环境变量 | 说明 | 格式示例 |
|---|---|---|
PROJECT_CODE | 项目代码,作为质量配置文件名称前缀 | PROJ1 |
PROJECT_RULES | 规则调整列表,分号分隔,支持启用(+)、禁用(-)及参数调整 | +csharpsquid:S104;-typescript:S1301 |
+<规则键>,如 +csharpsquid:S104-<规则键>,如 -typescript:S1301<规则键>|参数名=值,如 csharpsquid:S110|max=6bashPROJECT_CODE=PROJ1 PROJECT_RULES=+csharpsquid:S104;-typescript:S1301;+csharpsquid:S110|max=6
以下示例展示如何通过Docker Compose部署SonarQube与PostgreSQL数据库:
yamlversion: '3.7' services: www: image: ictu/sonar:10.1.0 environment: # 数据库连接配置 - SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonar - SONAR_JDBC_USERNAME=sonar - SONAR_JDBC_PASSWORD=sonar # 可选:管理员密码配置(首次启动有效) # - SONARQUBE_PASSWORD=your_new_admin_password # - SONARQUBE_TOKEN=your_admin_token # 可选:项目规则配置 # - PROJECT_CODE=PROJ1 # - PROJECT_RULES=+csharpsquid:S104;-typescript:S1301 ports: - 9000:9000 # SonarQube Web界面端口 depends_on: - db # 依赖PostgreSQL服务 db: image: postgres:15.3 environment: - POSTGRES_USER=sonar # 数据库用户名 - POSTGRES_PASSWORD=sonar # 数据库密码 - POSTGRES_HOST_AUTH_METHOD=scram-sha-256 # 认证方式 - POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256 # 初始化参数 volumes: - /db/postgresql_data:/var/lib/postgresql/data # 数据持久化卷
| 环境变量 | 用途描述 | 默认值 |
|---|---|---|
SONAR_JDBC_URL | PostgreSQL数据库连接URL | - |
SONAR_JDBC_USERNAME | 数据库用户名 | - |
SONAR_JDBC_PASSWORD | 数据库密码 | - |
SONARQUBE_PASSWORD | 首次启动时用于修改默认admin密码 | - |
SONARQUBE_TOKEN | 替代密码的管理员认证令牌 | - |
DB_START_TIMEOUT | 等待数据库可用的超时时间(秒) | 60 |
SONAR_START_TIMEOUT | 等待SonarQube启动完成的超时时间(秒) | 600 |
SONARQUBE_PASSWORD,自动更新管理员密码PROJECT_CODE和PROJECT_RULES应用项目级规则调整manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务