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扫描已经完成了,所以很快就会有结果产生。

相关文章
|
2月前
|
JavaScript 前端开发 持续交付
Prettier 高级应用:集成 CI/CD 流水线与插件开发
【10月更文挑战第18天】Prettier 是一款流行的代码格式化工具,它能够自动将代码格式化成一致的风格,从而提高代码的可读性和维护性。对于希望进一步发挥 Prettier 潜力的高级用户而言,将 Prettier 集成到持续集成(CI)和持续部署(CD)流程中,确保每次提交的代码都符合团队标准,是非常重要的。此外,通过开发自定义插件来支持更多语言或扩展 Prettier 的功能也是值得探索的方向。本文将详细介绍这两方面的内容。
52 2
|
1月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
50 2
|
23天前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
29天前
|
jenkins Java 持续交付
Gitee+Jenkins+SonarQube代码上线的实战操作
通过以上步骤,就可以实现基于Gitee、Jenkins和SonarQube的代码上线流程,确保代码的质量和上线过程的自动化和可控性。在实际操作中,可以根据项目的具体需求和环境进行适当的调整和优化。
|
1月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
66 3
|
1月前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
64 4
|
2月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
38 5
|
2月前
|
jenkins 持续交付 开发工具
【10月更文挑战第1天】通过jenkins选择tag完成代码上线
【10月更文挑战第1天】通过jenkins选择tag完成代码上线
|
2月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
184 0
|
4月前
|
弹性计算 运维 Serverless
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
83 1
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决

热门文章

最新文章