SonarQube集成Jenkins自动化检查代码

简介: SonarQube集成Jenkins自动化检查代码

环境准备:sonar,jenkins;这两个的安装就不多说了,查找我以前的文章也找得到。

1. 新建一个自由风格的项目

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

2. 源码选择无(此处为演示,项目也在我本地,因此选择无)

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

3. 构建->Execute SonarQube Scanner;然后填写项目key,名称,以及要分析的项目路径,项目主要语言等一系列信息(具体情况具体填写)

sonar.projectKey=django_restful

sonar.projectName=django_restful

sonar.language=py

sonar.sources=$WORKSPACE

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

4. 保存,点击立即构建(此处我只是为了扫描代码,因此并未执行其他的部署等一系列命令)

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

5. 在SonarQube查看结果

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

6. 注意事项:

1. sonar.sources

分析:这个关键词的意思是要分析的项目所在路径,最初我的项目是放在/project下的,于是我的sonar.sources=/project;可是在构建后发现sonar并未拉取到代码,没有任何分析结果

原因:后来经过一系列的排查与查找资料得知,jenkins构建运行时会去自己默认的工作空间找代码,也就是说不管是git或者svn其实拉取的代码是放在默认的工作空间,再将这些代码部署到响应的服务器或者做相应的操作;那么如果你是本地的项目,这个项目也要在工作空间,jenkins才找得到。每新建一个项目就会在工作空间有一个文件夹(比如项目名称是:django_restful;那么在这个项目的工作空间就是:/root/.jenkins/workspace/django_restful)

解决方案:所以这里的sonar.sources是相对于工作空间的目录(sonar.sources=$WORKSPACE),将项目移到/root/.jenkins/workspace/django_restful下就可以

2.SCM开启

构建时在控制台看到有报错,未开启SCM

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

解决方案:在sonar开启SCM

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

3. 系统配置和全局工具配置

下载了SonarQube插件后,要在系统配置中配置SonarQube servers,不然jenkins怎么知道要往哪里发送报告

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

SonarQube其实是用SonarQube Scanner来扫描代码的,因此也必须配置SonarQube Scanner的位置

  1. 可以提前自己安装好scanner,全局工具配置->SonarQube Scanner,填写执行路径(这种方式不勾选‘自动安装’)

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

2. 自动安装,全局工具配置->SonarQube Scanner,勾选自动安装,选择想要下载的扫描器版本

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

 

相关文章
|
7月前
|
jenkins Shell 测试技术
|
10月前
|
存储 文字识别 自然语言处理
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
本文深入探讨了通义大模型在文档自动化处理中的应用,重点解决传统OCR识别精度低、效率瓶颈等问题。通过多模态编码与跨模态融合技术,通义大模型实现了高精度的文本检测与版面分析。文章详细介绍了OCR集成流程、批量处理优化策略及实战案例,展示了动态批处理和分布式架构带来的性能提升。实验结果表明,优化后系统处理速度可达210页/分钟,准确率达96.8%,单文档延迟降至0.3秒,为文档处理领域提供了高效解决方案。
963 1
|
9月前
|
XML jenkins 机器人
JMeter+Ant+Jenkins实现接口自动化测试持续集成
本文介绍了如何使用Ant生成JMeter接口测试报告,并集成到Jenkins中实现自动化测试。内容涵盖Ant与JMeter环境配置、build.xml文件设置、测试执行及报告生成,同时包括Jenkins插件安装、项目配置和钉钉消息通知的集成,帮助实现持续测试与结果可视化。
1088 0
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
7月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
539 6
|
7月前
|
安全 jenkins Java
Java、Python、C++支持jenkins和SonarQube(一)
Jenkins 是一个开源的 持续集成(CI)和持续交付(CD) 工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
456 5
|
7月前
|
jenkins Java Shell
Java、Python、C++支持jenkins和SonarQube(全集)
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
637 1
|
7月前
|
jenkins Java 持续交付
Java、Python、C++支持Jenkins和SonarQube(三)
Python与Jenkins和SonarQube
338 1
|
7月前
|
jenkins Java 测试技术
|
9月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。

热门文章

最新文章

推荐镜像

更多