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

 

相关文章
|
4天前
|
敏捷开发 jenkins Devops
探索软件测试的新篇章:自动化与持续集成的融合之道
【9月更文挑战第31天】 在软件开发的海洋中,测试是确保航船稳健前行的灯塔。本文将引领读者驶入软件测试的新纪元,探索自动化测试和持续集成如何携手共创高效、可靠的开发流程。我们将从基础概念出发,逐步深入到实际操作层面,揭示这一现代软件开发模式的核心价值和实现路径。你将看到,通过代码示例和实践案例,如何将理论转化为提升软件质量的具体行动。
|
5天前
|
监控 Devops 测试技术
DevOps实践:持续集成与部署的自动化之路
【9月更文挑战第30天】在软件工程的世界中,DevOps已成为提升开发效率、确保软件质量和加快交付速度的关键策略。本文将深入探讨如何通过自动化工具和流程实现持续集成(CI)与持续部署(CD),从而优化软件开发周期。我们将从基础概念出发,逐步深入到实际操作,最终展示如何构建一个高效的自动化流水线,以支持快速迭代和高质量发布。
22 7
|
15天前
|
Devops jenkins Java
DevOps实践:持续集成和部署的自动化之旅
【9月更文挑战第20天】在软件开发的世界里,速度和质量是至关重要的。本文将带领读者踏上一场自动化之旅,深入探索DevOps文化中的两大支柱——持续集成(CI)和持续部署(CD)。我们将通过一个实际的案例,展示如何利用现代工具和技术实现代码从编写到部署的无缝转换,确保软件交付的高效性和可靠性。准备好让你的开发流程变得更加流畅和高效了吗?让我们开始吧!
|
6天前
|
Devops jenkins 测试技术
DevOps实践:持续集成与自动化测试的融合之道
【9月更文挑战第29天】在软件开发的快节奏竞赛中,DevOps如同一位智慧的舵手,引领着船只驶向效率与质量的彼岸。本文将揭开DevOps的神秘面纱,探索其核心理念如何通过持续集成(CI)和自动化测试的实践,实现软件开发流程的优化与加速。我们将一同见证代码从构思到部署的旅程,以及这一过程中的关键技术和工具如何协同工作,确保软件质量和交付速度的双重提升。
|
20天前
|
Ubuntu jenkins 测试技术
软件测试中的自动化与持续集成实践
【9月更文挑战第15天】在软件开发的快节奏世界中,自动化测试和持续集成(CI)已成为确保质量和效率的关键策略。本文旨在揭示如何通过实施自动化测试框架和CI流程来优化开发周期,减少人为错误,并加快产品上市时间。我们将探讨一些实用的工具和技术,以及它们如何帮助团队实现更流畅、更可靠的软件发布。
|
20天前
|
敏捷开发 jenkins Devops
软件测试的新篇章:自动化与持续集成的融合
【9月更文挑战第15天】在软件开发领域,质量保障始终是核心议题。随着敏捷开发的普及和DevOps文化的兴起,自动化测试和持续集成(CI)已成为现代软件工程不可或缺的组成部分。本文将深入探讨自动化测试的重要性、实施策略以及如何将其无缝集成到CI流程中,以实现更高效、更稳定的软件开发周期。通过具体案例分析,我们将揭示自动化测试和CI如何相互促进,提升软件交付的速度和质量。
|
2天前
|
运维 Devops 测试技术
DevOps实践之路:从持续集成到自动化部署
【9月更文挑战第33天】在软件开发的海洋中,DevOps如同一艘航船,承载着敏捷开发与运维之间的桥梁。本文将带你领略DevOps的魅力,从持续集成的理念出发,穿越自动化测试的浪潮,直至自动化部署的港湾。我们将通过实际案例,探索如何构建一个高效、可靠的DevOps流程,让软件交付不再是梦魇,而是流畅的艺术。
|
29天前
|
缓存 数据可视化 jenkins
推荐2款实用的持续集成与部署(CI&CD)自动化工具
推荐2款实用的持续集成与部署(CI&CD)自动化工具
|
2月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
2月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
49 1
下一篇
无影云桌面