Gitlab+Jenkins+SonarQube实现代码质量扫描自动化

持续集成交付CICD:GitLabCI 实现Sonarqube代码扫描 (6) 修改gitlab-ci.yaml,,添加代码扫描阶段sonarscan。第二种方式:重新安装sonar-scanner插件。(2)maven项目流水线调用公共库。(9)sonarqube查看项目。(3)项目组添加token认证。(6)maven项目运行流水线。问题2:bin目录软连接过多。(4)修改公共库流水线文件。报错2:符号连接的层数过多。(1)打开maven项目。(5)修改CI.yaml。问题1:环境变量未声明。第一种方式:删除软连接。这里采用第二种方式。 阅读详情

背景

按照安全基线的要求,需要对上线前的代码进行扫描。

此前,测试已经搭建过一个扫描服务,sonarqube。

在这里插入图片描述

流程定义

大致的流程如下:

  1. 开发提交代码
  2. 在 Gitlab 上提交MR
  3. Jenkins 接收到创建MR的通知,检查是否符合规则
  4. 若符合规则,则执行扫描
  5. 扫描结束后,执行 Python 脚本,获取扫描状态
  6. 根据扫描结果,设置临时环境变量
  7. 评论MR

在这里插入图片描述

基础环境

  • GitLab
  • Jenkins
  • Sonarqube

Sonarqube配置

安装多分支扩展(开发版路过)

传送门

生成访问令牌

配置路径:我的账号 → 安全 → 令牌

TIPS:生成的令牌要记下来,划走就再也找不到了。

在这里插入图片描述

Jenkins配置

安装 SonarQube Scanner for Jenkins 扩展

路径:Manage Jenkins → Manage Plugins → Available(Tab)

在这里插入图片描述

配置 SonarQube Scanner for Jenkins 扩展

路径:Manage Jenkins → Global Tool Configuration → SonarQube Scanner → Add SonarQube Scanner → Apply

在这里插入图片描述

路径:Manage Jenkins → Configure System → SonarQube servers → Add SonarQube → Apply

GitLab+Jenkins+SonarQube集成:一条流水线搞定代码质量门禁 在DevOps实践中,持续集成(CI)与持续交付(CD)是提升软件交付效率的核心工程实践,而静态代码分析则成为保障代码质量与安全的关键防线。通过构建一条自动化流水线,将代码仓库、构建调度与质量扫描工具串联起来,能够让每一次代码合并都经过自动化检查,有效阻止技术债和潜在缺陷流入主干。本文从工具链协作的底层逻辑出发,介绍如何以GitLab作为代码协作与触发源,由Jenkins负责构建任务编排,并引入SonarQube执行静态扫描与质量门禁判定,最终形成集成的CI/CD链路。这一方案不仅适用于企业内部DevOps 阅读详情

相关推荐

初识jenkins pipeline

使用jenkins pipeline插件构建一个job,主要是:从gitlab拉取代码–编译–sonar分析–quality gate判断是否通过质量阀 脚本如下: node { def mvnHome stage(‘Preparation’) { // for display purposes // Get some code from a GitHub rep...

fbb的博客 1085

别再只靠人眼Review了!手把手教你用SonarQube搭建自动化代码质量守护流水线

本文详细介绍了如何使用SonarQube搭建自动化代码质量检查平台,从静态扫描到质量红线的全流程实践指南。通过Jenkins和GitLab CI的深度集成方案,结合质量阈配置和故障排除技巧,帮助开发团队实现高效、自动化的代码质量守护,显著提升代码可靠性和开发效率。

weixin_33754744的博客 244

GitLab CI: 单元测试与代码扫描

在软件开发过程中,单元测试和代码扫描是两个重要的步骤,用于确保代码质量和软件稳定性。通过正确配置GitLab CI(持续集成),我们可以自动化执行单元测试和代码扫描,从而提高开发效率和代码质量。本文将介绍如何在GitLab CI中实现单元测试和代码扫描,并提供相应的源代码示例。单元测试能够验证代码的正确性,减少潜在的错误和缺陷。但总体思路是相似的:编写测试脚本、配置CI文件、选择相应的工具和镜像,最后提交代码并触发CI流程。代码扫描是通过静态代码分析工具对代码进行检查,以发现潜在的错误、漏洞和不良实践。

BgScratch的博客 651

【DevOps】Git+Sonarqube:Gitlab集成sonarQube,实现自动扫描代码(不包含代码覆盖率配置)

一、环境信息 服务 版本号 Docker 20.10 sonarQube 7.9.6 PostgreSQL 13 GitLab 13.5.7 GitLab-runner 13.2.4 注: ① 以上环境全部以docker安装在CentOS 7.9 系统上 ② sonarQube 在 7.6 版本后不支持插件 `sonar-gitlab-plugin`,若使用 7.6 之后的版本,将无法实现 sonarQube 与 GitLab 协作(除非使用付费版) ③ sonar

CN_Eden 5184

SonarQube+Jenkins+GitLab实现自动化代码扫描

文章目录一:安装二:Jenkins集成gitlab,建立联系`Jenkins插件安装:首页--系统配置--插件管理`三:Jenkins集成sonarqub`1.sonarqube平台生成令牌:配置--权限(用户)--填写令牌名称--点击生成`四:实操测试如有疑问,可评论区或私信交流! 一:安装 sonarqube平台安装:https://blog.youkuaiyun.com/CN_TangZheng/article/details/109227830 Jenkins平台安装:https://blog.youkuaiyun.com

CN_TangZheng的博客 1550

【processing】创意编程

首先接到这个作业的时候,我是很崩溃的,我是真的不会画画QAQ,还画自己,这也太难了,于是我决定!还是祸害我爱豆吧!于是我从微博太太那里找了个图临摹 下面是太太的图 先给太太道歉!都是为了作业! 然后我画出来是这样子的 还可以!!!没有特别丑!(虽然也不是特别像吧) 但是画这个真是画死我了,下面贴上代码吧,没啥特殊的就是各种贝塞尔曲线各种圆各种线 //face stroke(70,27,11...

qq_25700571的博客 1267

手把手教你用UC3844设计多路输出反激电源(附PCB布局避坑指南)

本文详细介绍了使用UC3844设计多路输出反激电源的实战技巧,包括核心电路设计、变压器参数计算、PCB布局优化及EMI抑制方法。通过实验室实测数据和项目经验,帮助工程师避开常见设计陷阱,提升电源性能和可靠性。特别附赠PCB布局避坑指南,助力高效完成开关电源设计。

weixin_30300225的博客 568

完整内、外期货量化交易系统源码可售

支持客户登录校验,支持所有的实时行情和汇总报价功能、实时资讯(报价,列表,分时,分钟成交明晰,),多线程支持盘后收盘作业下载(日线,5分钟线,15分钟, 30分钟,60分钟线,),支持从服务器下载相关运行配置(来自服务器动态配置信息,如收盘日期等),实现状态条显示。收盘作业包括日线、5分钟线、15分钟线、30分钟、60分钟线、2小时线、4小时线每日分时走势。综合信息栏显示用户账户信息、合约信息、当日委托单记录、当日成交记录、当日平仓记录、当日跟单记录、当日(月/周)排行榜、下单栏、持仓信息;

qq_35600909的博客 1805

vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板

想要把“Hello,World”放置在页面上,首先需要准备一个HTML的块级元素div,来承接内容。

l_q_l的专栏 1258

第38节:cesium 风场效果(含源码+视频)

cesium 风场效果

qq_29384639的博客 2330

Unity DOTS核心概念之 System(系统)

本文全面解析Unity ECS架构中System的核心概念与最佳实践。System作为纯逻辑载体,遵循"查询数据→处理数据"的工作流,严格分离数据与逻辑。文章详细介绍了: System定义方式(推荐ISystem接口)与三大设计准则(纯逻辑、无状态、最小权限) 生命周期管理(OnCreate/OnUpdate/OnDestroy)和执行顺序控制(UpdateInGroup/UpdateBefore) 实体查询机制(SystemAPI.Query高级筛选)和多线程优化(IJobEntity

分享知识,拥抱变化 183

uniapp [安卓苹果App端] - 实现判断并开启消息通知/提示权限,监测通知权限未开启时弹框提示用户并引导用户跳转至设置界面,uniApp检查通知权限+提示是否打开+点击跳转设置(详细示例代码)

uni-app判断有无通知权限,并进行设置,设置手机通知权限,开启通知权限,uni-app解决权限问题,uniapp 拉起授权(拒绝后重新开启权限)uniApp打包的手机app如果用户没开启通知权限、引导用户开启,uni-app动态打开应用通知权限,拒绝后跳转设置页面,uniapp获取通知栏权限,苹果ios系统打开通知权限,被拒绝怎么办,uniapp安卓判断通知权限,uniapp打包的APP引导用户打开手机通知权限,uniapp权限被拒绝,跳转手机设置页面 权限设置,IOS应用内跳转系统设置,uni-app

🏆 前端领域优质创作者 1万+

【WRFDA教程第四期】雷达数据同化(Radar Data Assimilation)

雷达数据同化(Radar Data Assimilation)

WW、forever的博客 1759

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 基于Git WebHook+Docker的自动化部署
下一篇: 阿里云DKMS对接记录
IMJCW
博客等级 码龄10年 13粉丝 58原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值