部署SonarQube时,先不要急着选安装包,更关键的是先把运行方式想清楚。SonarSource官方文档现在把这条线写得很明确,服务端部署主线就是先检查服务器要求和Java版本,再准备数据库,然后按ZIP或Docker方式完成基础安装;如果只是测试,可以先用内置H2,但生产环境不建议这样做,而且官方明确建议生产库与SonarQube主机分离部署。
一、SonarQube怎么部署
SonarQube的部署顺序最好固定下来,先定宿主机和数据库,再定安装方式,最后再补运行参数和服务化设置。这样做比一边装一边改配置更稳,后面迁移和扩容也更容易。官方安装总览给出的主线就是这套顺序。
1、先准备运行环境
先确认服务器满足当前运行要求。SonarSource最新发布说明明确写到,SonarQube Server运行时现在要求完整的JDK,最低Java版本是21,并新增了对Java 25的支持,同时Java 17已不再支持。服务器主机则支持Linux、Windows和macOS的64位环境。
2、再按规模准备主机资源
如果是小规模实例,当前官方主机要求给出的起点是4GB内存、2核CPU、约30GB磁盘,并且至少保留10%空闲磁盘空间;如果是较大规模单节点企业部署,起点则提高到16GB内存和8核CPU。官方同时提醒,这些只是新部署的起点,后续还要根据CPU、内存和存储监控结果继续调整。
3、数据库先单独准备
SonarQube的生产部署不要直接用内置H2。官方数据库安装页明确说明,H2适合开发、测试和试用,但不建议用于生产;生产环境应使用外部数据库,并且官方建议数据库与SonarQube主机物理分离,且两者之间保持低时延。当前支持的数据库包括PostgreSQL 14到18、Microsoft SQL Server 2017到2022,以及Oracle 19C、21C、23ai和XE。
4、安装方式再在ZIP和Docker里选
官方当前文档把服务端安装分成ZIP和Docker两条主线。若走ZIP部署,基础安装后要在
5、启动后再做基础检查
服务启动后,官方文档给出的默认访问地址是[http://localhost:9000,默认系统管理员账户是](http://localhost:9000,默认系统管理员账户是)admin,默认密码也是admin。真正上线前,至少要继续完成数据库连通确认、Web访问参数检查,以及是否需要服务化运行和代理转发这几项基础工作。
二、SonarQube单机与服务器方案怎么选
这里说的“单机”和“服务器”,最好不要只按设备数量理解,而要按使用目标理解。SonarSource当前文档已经把小规模安装、大规模单节点安装和Data Center集群分成了不同层级,所以选型时更适合先看团队规模、代码量、可用性要求和运维能力。
1、个人试用或小团队先选单机
如果你只是个人使用、小团队验证流程,或者代码规模不大,单机单节点更合适。官方主机要求里把小规模安装描述为通常支持到约100万行代码的场景,这类部署的资源起点也更低,落地成本和运维复杂度都更容易控制。
2、正式生产更适合独立服务器单节点
只要进入正式生产环境,就不建议继续把SonarQube、内置数据库和其他杂项都堆在同一台测试机上。官方多处都强调,生产部署时数据库应与SonarQube主机分离,SonarQube服务器主机也最好专用;这类方案更适合中型团队、持续集成稳定运行和长期留存分析数据的场景。
3、要高可用和横向扩展时才考虑集群
如果你的重点已经不是“能跑起来”,而是“某个节点出故障后服务还要继续”“并发分析和查询还要继续扩”,那才轮到集群方案。官方文档写得很明确,集群部署只适用于Data Center Edition,而且它的目标就是让SonarQube以集群方式运行,从而具备更好的容错和扩展能力。
4、某些托管环境不要硬上
选服务器方案时,还要看底层环境是否适合SonarQube。官方主机要求明确指出,凡是无法满足Elasticsearch相关Linux前置条件的环境,都不受支持;文档还点名Azure App Service、AWS App Runner、AWS Fargate这类环境不适合生产使用,ACI和ACA也不推荐。也就是说,服务器方案不只是买一台云主机,而是要先确认底层平台能承接SonarQube的运行模型。
三、SonarQube部署方案怎么定
SonarQube部署方案怎么定,关键不是先问“我能不能装”,而是先问“我这套实例要服务谁、跑多大规模、要不要高可用、团队有没有持续运维能力”。只要把这几个问题先定清,单机、单节点服务器还是集群,通常就不会选偏。官方文档对小规模、大规模单节点和DCE集群的划分,本身就是这套判断思路。
1、先按用途定
如果目的是试用、培训、流程验证和小范围落地,单机更合适;如果目的是正式接CI、长期分析代码质量和稳定服务多个项目,优先考虑独立服务器单节点。因为官方已经把H2明确限定在测试和试用层,而不是生产层。
2、再按规模定
代码量、团队人数和并发分析任务越大,越要提前按大规模单节点甚至集群思路准备资源。官方主机要求已经把小规模与大规模起点拆开,而且还给出参考架构链接,这就说明部署方案不能只凭“当前能启动”,还要看后续增长空间。
3、最后按可用性定
如果系统短时不可用影响不大,单节点就够;如果要求更高的容错和持续可用,再看DCE集群。因为官方对集群的定位不是“更高级的安装方式”,而是专门面向高可用和横向扩展的部署形态。
总结
SonarQube怎么部署,标准主线就是先准备JDK 21及以上的运行环境和外部数据库,再按ZIP或Docker完成基础安装,并通过配置文件或环境变量补齐连接与Web参数。SonarQube单机与服务器方案怎么选,则更适合按用途、规模和可用性来判断,小团队试用走单机,正式生产优先独立服务器单节点,需要高可用和扩展时再考虑Data Center Edition集群。把这三层想清楚,部署方案通常就不会选乱。