jenkins流水线+SonarQube集成检查代码

简介: jenkins流水线+SonarQube集成检查代码

单独的jenkins+sonarqube已经在另外一篇讲过了。

那么如果遇到一个流程的时候怎么将sonarqube集成在流水线呢。

例如:拉取代码-检查代码,如果通过质量阀则继续后面的步骤(部署启动删除等操作)

官方文档有个小例子,直接拿过来看看。根据自己的需求进行调整即可。

sonar_guanfang.png (645×638).png

在实际测试中,sonar的质量阀设置标准根据自己的项目实际来设置,如果没有通过,则jenkins pipline就不会执行下面其他的步骤。

此处sonar执行的是放在项目根目录下的sonar-scanner.properties文件,该文件里就是写的sonar执行的命令,和直接将命令行写到sh后面是一样的。

sonar-scanner.png (520×158).png

pipline_sonar.png (871×380).png

这里需要注意的就是修改scanner的路径和sonarqube路径(分别在全局工具和系统配置里定义好),检查质量阀状态这个步骤中sleep(8)格外说明一下:

经常会发现pipeline进行到waitForQualityGate的时候卡主了,然后一直等到超时失败。如果是一直都这样,可能是代码问题,但是中间也发现了有成功的,比较了一下其中的日志,能够发现在调用waitForQualityGate的时候,如果状态是成功,

就直接通过了,如果是pending状态,就会一直阻塞。看了文档,这个方法应该是同步的,但是按照实际的测试,

在调用方法的时候会去请求一次sonar结果,如果不是终态,就会阻塞住,然后貌似也没有再次去请求最新的状态,

相当于是sonar jenkins插件的一个bug。


因此想了个粗暴的办法就是在waitForQualityGate之前,先sleep几秒,然后去取状态的时候就能直接取到终态了。

因为在调用waitForQualityGate的时候,sonar扫描已经完成了,所以很快就会有结果产生。

相关文章
|
3月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
114 2
|
26天前
|
Java jenkins 持续交付
Jenkins集成Maven
通过以上步骤,可以在Jenkins中成功集成Maven,实现自动化构建和部署。通过定时构建、SCM轮询等方式,可以确保代码库中的最新变更能够及时构建和测试,提高开发效率和代码质量。这种集成方式在实际项目中具有广泛的应用前景,能够显著提升团队的协作效率。
43 8
|
30天前
|
人工智能 JavaScript 前端开发
一段 JavaScript 代码,集成网站AI语音助手
根据本教程,只需通过白屏化的界面操作,即可快速构建一个专属的AI智能体。
|
2月前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
94 12
|
3月前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性
在自动化和持续集成中,确保代码安全与合规至关重要。措施包括集成自动化安全工具、执行自动化合规检查、进行代码质量与安全检测、评估开源代码安全、实施基础设施即代码的安全标准、采用多层防御策略、加强安全教育与文化建设、使用合规性检测工具及许可证合规分析等,共同提升代码安全性与合规水平。
|
3月前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
3月前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
|
3月前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
140 4
|
4月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
125 0
|
4月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
324 0

热门文章

最新文章