SonarQube之采购选型参考
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
摘要
SonarQube是一个流行的代码质量管理工具,用于DevOps中的质量内建。它通过插件机制集成各种测试工具、代码分析工具和持续集成工具,如pmd-cpd、checkstyle、findbugs、Jenkins。社区版通常可以满足大多数需求,且对C/C++社区也有开源插件支持。
工作原理
SonarQube通过插件算法对质量检测工具的结果进行再加工,并量化代码质量以便于管理。它从七个维度分析项目质量,支持25+种编程语言,提供静态和动态分析功能。远程客户机可以上传项目代码至SonarQube server,通过Web API结果以可视化的形式展示。
软硬件要求
对磁盘读写性能有较高要求,建议在生产环境使用专用高速I/O存储。SonarQube server不支持32位系统,但scanner支持。Server只支持Java11,而scanner支持Java8和11。支持的数据库包括PostgreSQL, MSSQL Server和Oracle,不再支持MySQL。
版本分类
SonarQube提供社区版(CE)、开发者版(DE)、企业版(EE)和数据中心版(DCE),每个版本都在前一个版本的特性上进行扩展。社区版免费,支持15种编程语言和60+插件。开发版包括社区版特性,另外增加了支持更多编程语言和Pull Request代码分析。企业版在开发版基础上增加了安全报告和SAST分析。数据中心版主要增强了高可用性和横向扩展性。
特性费用对比
SonarQube的收费基于每年订阅的代码行数,如果超过购买行数,服务将终止,但可以通过删除项目重置扫描量。
- 社区版:免费
- 开发者版:价格范围从120欧元到5万欧元,支持的代码行数从10万到20M行
- 企业版:价格范围从1.5万欧元到18万欧元,支持的代码行数从1M到100M行
- 数据中心版:起价10万欧元,支持20M行代码起,无上限
社区免费版本
社区版支持15种编程语言和5种IDE,提供60+插件和Quality Gate等特性。不支持一个项目多分支形式,解决方案是为每个特性分支创建一个扫描项目,但这会增加管理负担。
开发者版本
开发版增加了对C/C++等语言的支持,强化了安全性能和与IDE的集成。
企业版本
企业版在开发版特性上增加了对更多编程语言的支持,提供了更全面的安全性报告和SAST分析。
数据中心版本
数据中心版在企业版特性上增强了系统的高可用性和横向扩展性。
计算费用
Sonarqube的计费模式是基于扫描代码行数的年订阅制,如果超出扫描量,可以通过删除项目来重置。
想要了解更多内容?