SonarQube+Jenkins+Cppcheck实现C++代码扫描
背景:公司部分项目是由C++进行开发,因此对此有需求。
sonarqube:docker化安装(alpine系统),版本8.3.1 (build 34397)
jenkins:docker化安装,版本2.222.4
实现步骤:
第一步、sonarqube安装C++扫描插件
该版本无法从sonar平台的应用商店下载,只能通过本地安装。
插件地址:https://github.com/SonarOpenCommunity/sonar-cxx/releases/tag/cxx-1.3.2

由于alpine系统关系,当时没有想到版本通过上传方式,因此采用在alpine系统中进行直接下载到指定的sonar插件目录(/extensions/plugins),
cd到/extensions/plugins目录下,然后输入命令:wget https://github.com/SonarOpenCommunity/sonar-cxx/releases/download/cxx-1.3.2/sonar-cxx-plugin-1.3.2.1853.jar

下载完后在目录当中会出现刚才下载的插件jar,以免后续出现权限问题,提前输入命令授权:chmod -R 777 sonar-cxx-plugin-1.3.2.1853.jar

然后重启sonarqube服务器:

重启完即可见到插件已安装成功:

第二步、下载安装cppcheck工具
cppcheck要安装在Jenkins服务器上,官方安装文档:http://cppcheck.sourceforge.net/
进入到Jenkins的docker中,输入命令: apt install cppcheck (先切换到root用户)

查询到版本即为安装成功:

第三步、sonarqube配置C++的代码扫描规则
首先,创建新规则配置:

然后,根据个人选择激活规则到配置当中:

最后,将配置好的规则设置为默认:

第四步、Jenkins项目中配置C++的扫描:
在Jenkins中安装Cppcheck插件,然后重启Jenkins,在项目中配置如下:

第五步、在sonarqube中配置报告

SonarQube+Jenkins+Cppcheck实现C++代码扫描的更多相关文章
- SonarQube+jenkins-自动化持续代码扫描
SonarQube+jenkins-自动化持续代码扫描 1.SonarQube 1.1 SonarQube介绍 1.1.1 SonarQube 工作流程 1. 2 Docker方式安装SonarQub ...
- 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)
前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...
- jenkins:集成sonar代码扫描+发送邮件
前提: Jenkins JDK 目录: 1.安装sonar插件:SonarQube Scanner for Jenkins 2.安装SonarQube 3.安装sonar-scanner ++++++ ...
- 持续集成工具之jenkins+sonarqube做代码扫描
上一篇我们主要聊了下代码质量管理平台sonarqube的安装部署以及它的工作方式做了简单的描述和代码扫描演示:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13 ...
- 使用jenkins+sonar进行代码扫描,并发送自定义邮件
jenkins架构 1.一台机器作为jenkins master不进行构建操作,只负责调度其他slave节点执行任务 2.一台slave机器作为执行机器存放从gitlab上拉取的代码,使用sonar- ...
- 03 . Jenkins构建之代码扫描
Sonar简介 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(例如 Hudson/Jenkins 等)不 ...
- Objective C静态代码扫描和代码质量管理 OClint + SonarQube
OClint是针对C, C++及Objective C代码的静态扫描分析工具,而SonarQube是一个开源的代码质量管理平台.本文将实现将OClint的扫描结果导入到SonarQube中,已实现对O ...
- Jenkins集成openshift容器中进行代码扫描
1.Dockerfile sonarDockerfile: (基础slave镜像参考上篇博文) FROM registry.it.com/openshift/jenkins-slave:latest ...
- 代码扫描利器sonarqube
sonar的作用 1.代码质量和安全扫描和分析平台. 2.多维度分析代码:代码量.安全隐患.编写规范隐患.重复度.复杂度.代码增量.测试覆盖率等. 3.支持25+编程语言的代码扫描口分析,包含java ...
随机推荐
- 【从单体架构到分布式架构】(三)请求增多,单点变集群(2):Nginx
上一个章节,我们学习了负载均衡的理论知识,那么是不是把应用部署多套,前面挂一个负载均衡的软件或硬件就可以应对高并发了?其实还有很多问题需要考虑.比如: 1. 当一台服务器挂掉,请求如何转发到其他正常的 ...
- .Net 对于PDF生成以及各种转换的操作
前段时间公司的产品,要做一个新功能,签章(就是把需要的数据整理成PDF很标准的文件,然后在盖上我们在服务器上面的章) 然后我就在百度上找了找,发现搞PDF的类库很少,要么就要钱,要么就有水印,破解版的 ...
- mysql explain的extra
导读 extra主要有是那种情况:Using index.Using filesort.Using temporary.Using where Using where无需多说,就是使用了where筛选 ...
- cb29a_c++_STL_算法_查找算法_(2)search_n
cb29a_c++_STL_算法_查找算法_(2)search_n//比如:连续查找连续的n个8search_n(b,e,c,v),迭代器b,begin(),e,end().连续的c个vpos=sea ...
- ASP.NET处理管道之防盗链
盗链就是在用户向网站a请求网站资源时,网站a将网站资源的路径填写为b网站资源的地址,用户将直接看到网站a上显示着网站b的资源,从而造成盗链. 要防止盗链,就要用到处理管道中的技术 在相应的模块类中: ...
- CFS三层网络环境靶场实战
一.环境搭建: ①根据作者公开的靶机信息整理 共有三个targets,目标是拿下三台主机权限,且是三层的网络环境,内网网段有192.168.22.0/24和192.168.33.0/24,添加两张仅主 ...
- [经验栈]C#监测IPv4v6网速及流量
1.前言 最近做项目需要用到监测网速及流量,我经过百度和墙内谷歌都没能快速发现监测IPV6流量和网速的用例:也经过自己的一番查询和调试,浪费了不少时间,现在作为经验分享出来希望大家指正. 2.C# ...
- 面试必问系列之JDK动态代理
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- @EnableHystrixDashboard注解无法使用情况
本人使用的是springboot 2.1.3,在引入hystrix仪表盘时,发现@EnableHystrixDashboard注解无法使用. 原来的pom配置 度娘之后,发现是springboot版本 ...
- 1.尚硅谷_MyBatis_简介.avi
hibernate旨在消除mysql语句.程序员不写sql语言,要实现复杂的功能需要学习hibernate的hql语句 mybatis把编写sql语言交给程序员,程序员自己在xml控制sql语句的编写 ...