静态代码分析
准备条件:linux服务器、可执行docker命令
- 拉取sonarqube的镜像
docker pull sonarqube
- 安装sonarqube服务
docker run -d --name sonarqube \
-e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD=123456 \
-v sonarqube_conf:/opt/sonarqube/conf \
-v sonarqube_extensions:/opt/sonarqube/extensions \
-v sonarqube_logs:/opt/sonarqube/logs \
-v sonarqube_data:/opt/sonarqube/data \
-p 9000:9000 sonarqube:latest
- 将linux宿主机上的9000端口暴露出去
用户访问ip:9000即可登录sonarqube的管理网页,最好是用代理把域名改一下
- sonarqube网页配置
步骤2执行后,即可访问网页,但是需等待它初始化1-2分钟
初始账号admin 密码admin
登录后修改密码为随意值
配置中文资源包:
- 规则配置
痛点分析:按默认配置,全量的一般都有几K到几十K数量的问题,包括了各种bug、漏洞、异味等等,修复起来太麻烦了,非新项目的话几乎是不可能有时间和精力去修复完的;
所以可以只开放了null判断的bug(毕竟大多数是这个错误) 其他的错误类型由于太多了所以都忽略了,后续再考虑加别的分析规则;
- 创建项目
省略
- 本地执行 & jenkins流水线
本地:手动跑cmd命令,按照sonar上的命令;
jenkins:类似于本地分析,在发布服务器上,每次发布时,拉取最新代码,分析,然后推送上面地址到开发群提醒修复,按需分配对应的开发及时修复;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构