Jenkins+Sonar质量门禁【实践篇-maven版】

配置文档百度挺多的,就不展开来了

首先很遗憾的告诉大家,maven版做不了质量门禁!只能扫描!!!

     就我们公司项目里,jenkins建的maven任务是最多的,所以我也首选用maven项目测试,然而11月尾叫了解,各种测试下来没有进展。那时还特意去官网注册,生成SonarQube token,配置到jenkins凭证上,以便在jenkins发布中使用token代替账号密码的方式去操作sonarqube,还下载中文汉化包进行汉化。

  然而配置任务发布报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/sonar/batch/bootstrapper/IssueListener,SonarQube scanner exited with non-zero code

  搞了1~2天,从此被抓去干别的活了。。。没错,就是去搞虚拟机迁移,因为公司买了新服务器,需要把伪服务器(家用台式机改造的linux系统,装了个virtualbox)的虚拟机迁移到新服务器上(2网段)。而这台测试机器刚好也要挪走,话说当时想直接把jenkins装在系统上,而不是docker上,因为想着以后一直用。

  安装过程有个诡异的问题,不知道是不是2网段跟默认0网段有什么冲突,各种方式装jenkins(java -jar war包、tomcat跑war包,甚至yum 直接装),无一不遇到首次安装jenkins,插件安装失败问题:

不要告诉我这个方法:

1 sed -i 's#http://updates.jenkins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g;s#http://www.google.com#https://www.baidu.com#g' default.json
2
3 http://jenkins访问ip/jenkins/pluginManager/advanced
4 上面的 Update Site url 改成 mirrors.tuna.tsinghua.edu.cn 。。。

   试过很多遍,无解。竟然改完之后,重启jenkins,修改过的配置文件还是没改过前的。且考虑到,装完之后还要配置很多东西,什么git、java、maven,还要根据报错信息装缺漏的插件。。。    

  无奈只能搞回docker版的jenkins,话说docker恢复安装环境确实快。

1、恢复镜像:原服务器上docker save,新服务器docker load

2、数据恢复:各种映射到宿主机的数据目录拷贝复制

3、恢复服务:docker run -v 跑起来即可

上面都是流水文,交代下背景,下面干货来了!

  话说我在jenkins建的maven项目里,报错信息看不到解决办法。所以干脆模拟整个过程:进去docker jenkins里面,git 拉项目,然后手动运行sonar扫描。

  因为公司项目不敢在pom.xml 添加东西,所以借来了小俊子给的helloworld java 项目。然后扫描成功了。

1、进去jenkins容器

docker exec -it xxxx bash

2、进入jenkins worksapce目录

3、克隆hello-world.git项目(趁某俊把这个项目还是设置公开,大家有需要赶紧下下来,哈哈哈,我已经粘到我gitee上了,下一篇会说到)

git clone https://gitee.com/xie-zijun/hello-world.git

4、修改pom.xml 文件,添加插件引入:

<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.2</version>
</plugin>

加个题外话,其实我们公司maven项目也能加,因为这堆代码要放到build和plugins里面的,如果pom.xml没有这两个标签,加上去即可。就是下面这个意思:

<!--maven打包插件-->
<build>
<plugins>
上面那坨代码
</plugins>
</build>

4、手动运行扫描

bash-5.1# /usr/local/maven/bin/mvn install sonar:sonar -Dsonar.host.url=http://192.168.2.170:9090

Jenkins+Sonar质量门禁【实践篇-maven版】的更多相关文章

  1. 超详细,自动化测试接入Jenkins+Sonar质量门禁实践

    大家好,我叫董鑫,一名在测试开发道路上的新手.第一阶段的学习已然结束,收获颇多,了解了很多在自己平时测试工作无法接触到的新知识,比如这次在这里分享的Sonarqube进行静态代码扫描并集成Jenkin ...

  2. jenkins + sonar 安装配置

    最近把snoar 添加上了 [root@snoar data]#   wget https://sonarsource.bintray.com/Distribution/sonarqube/sonar ...

  3. Azure 进阶攻略 | 上云后的系统,「门禁」制度又该如何实现?

    各位办公室白领们,不妨回想一下自己每天去公司上班时的一些细节. 为避免「闲杂人等」进入工作场所,我们需要证明自己是这家公司的员工才能进入,对吧!所有员工,无论所属部门或职位,都必须先证明自己身份,例如 ...

  4. Jenkins+Sonar搭建持续集成和代码质量检查环境

    Jenkins+Sonar搭建 一.相关环境及下载地址 系统:Ubuntu JDK:1.8 MySQL:5.7 软件包: jenkins_2.121.3_all.deb sonarqube-7.3.z ...

  5. Jenkins+Sonar 项目构建前代码审查

    一.sonar简介 1.概述 Sonar (SonarQube)是一个开源平台,用于持续检查代码质量,不只是一个质量数据报告工具,更是代码质量管理平台. 支持Java, C#, C/C++, PL/S ...

  6. RFID Hacking④:使用ProxMark3 破解门禁

    文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...

  7. RFID Hacking①:突破门禁潜入FreeBuf大本营

    某天,偶然间拿到了FreeBuf Pnig0s同学的工卡信息,终于有机会去做一些羞羞的事情了 引子 以下故事纯属虚构,如有雷同,纯属巧合. 我应聘了一个大型IT公司的"网络攻击研究部经理&q ...

  8. 手机NFC模拟门禁卡

    楼主所在的某电子科技类大学,从宿舍楼到实验楼到图书馆办公楼,全部都有门禁,前两天突然在某安软件市场看到一个可以模拟门禁卡的软件,然而可能是我的手机系统太6了,竟然模拟不了,无奈自己动手,从根本上解决问 ...

  9. Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统

    继续并发专题~ 这次介绍CyclicBarrier:看一眼API的注释: /** * A synchronization aid that allows a set of threads to all ...

随机推荐

  1. Tomcat类加载机制和JAVA类加载机制的比较

    图解Tomcat类加载机制    说到本篇的tomcat类加载机制,不得不说翻译学习tomcat的初衷.    之前实习的时候学习javaMelody的源码,但是它是一个Maven的项目,与我们自己的 ...

  2. linux 软链接与查看历史指令

    ln 说明 软连接也叫符号链接,类似于windows里的快捷方式,主要存放了路径. 基本语法 ln -s[原文件或目录][软连接名] 删除软链接 [root@hadoop102 ~]# rm -rf ...

  3. cookie规范(RFC6265)翻译

    来源:https://github.com/renaesop/blog/issues/4 RFC 6265 要点翻译 1.简介 本文档定义了HTTP Cookie以及HTTP头的Set-Cookie字 ...

  4. 复制virtualbox虚拟硬盘

    D:\VirtualBox\VBoxManage.exe clonevdi F:\virtualbox\rac1\rac1.vdi F:\virtualbox\rac2\rac2.vdi 虚拟机软件安 ...

  5. What all is inherited from parent class in C++?

    派生类可以从基类中继承: (1)基类中定义的每个数据成员(尽管这些数据成员在派生类中不一定可以被访问): (2)基类中的每个普通成员函数(尽管这些成员函数在派生类中不一定可以被访问): (3)The ...

  6. 【Spring Framework】Spring入门教程(六)Spring AOP使用

    Spring的AOP 动态代理模式的缺陷是: 实现类必须要实现接口 -JDK动态代理 无法通过规则制定拦截无需功能增强的方法. Spring-AOP主要弥补了第二个不足,通过规则设置来拦截方法,并对方 ...

  7. SSO(单点登录)示例

    此文为转载文章,出处:https://www.cnblogs.com/jpfss/p/9273680.html SSO在我们的应用中非常常见,例如我们在OA系统登录了,我们就可以直接进入采购系统,不需 ...

  8. 4个优化方法,让你能了解join计算过程更透彻

    摘要:现如今, 跨源计算的场景越来越多, 数据计算不再单纯局限于单方,而可能来自不同的数据合作方进行联合计算. 本文分享自华为云社区<如何高可靠.高性能地优化join计算过程?4个优化让你掌握其 ...

  9. 配置yum代理

    一.说明 很多内网环境无法使用yum 二.配置 1.安装nginx 2.配置 server { listen 808; #禁用multipart range功能 max_ranges 1; serve ...

  10. Solon 1.6.6 发布,细节打磨

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 增加 @Inject("ds1") BeanWrap bw 模式注入 @Configuration public c ...