Jenkins+Sonar质量门禁【实践篇-maven版】
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版】的更多相关文章
- 超详细,自动化测试接入Jenkins+Sonar质量门禁实践
大家好,我叫董鑫,一名在测试开发道路上的新手.第一阶段的学习已然结束,收获颇多,了解了很多在自己平时测试工作无法接触到的新知识,比如这次在这里分享的Sonarqube进行静态代码扫描并集成Jenkin ...
- jenkins + sonar 安装配置
最近把snoar 添加上了 [root@snoar data]# wget https://sonarsource.bintray.com/Distribution/sonarqube/sonar ...
- Azure 进阶攻略 | 上云后的系统,「门禁」制度又该如何实现?
各位办公室白领们,不妨回想一下自己每天去公司上班时的一些细节. 为避免「闲杂人等」进入工作场所,我们需要证明自己是这家公司的员工才能进入,对吧!所有员工,无论所属部门或职位,都必须先证明自己身份,例如 ...
- Jenkins+Sonar搭建持续集成和代码质量检查环境
Jenkins+Sonar搭建 一.相关环境及下载地址 系统:Ubuntu JDK:1.8 MySQL:5.7 软件包: jenkins_2.121.3_all.deb sonarqube-7.3.z ...
- Jenkins+Sonar 项目构建前代码审查
一.sonar简介 1.概述 Sonar (SonarQube)是一个开源平台,用于持续检查代码质量,不只是一个质量数据报告工具,更是代码质量管理平台. 支持Java, C#, C/C++, PL/S ...
- RFID Hacking④:使用ProxMark3 破解门禁
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...
- RFID Hacking①:突破门禁潜入FreeBuf大本营
某天,偶然间拿到了FreeBuf Pnig0s同学的工卡信息,终于有机会去做一些羞羞的事情了 引子 以下故事纯属虚构,如有雷同,纯属巧合. 我应聘了一个大型IT公司的"网络攻击研究部经理&q ...
- 手机NFC模拟门禁卡
楼主所在的某电子科技类大学,从宿舍楼到实验楼到图书馆办公楼,全部都有门禁,前两天突然在某安软件市场看到一个可以模拟门禁卡的软件,然而可能是我的手机系统太6了,竟然模拟不了,无奈自己动手,从根本上解决问 ...
- Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
继续并发专题~ 这次介绍CyclicBarrier:看一眼API的注释: /** * A synchronization aid that allows a set of threads to all ...
随机推荐
- 巩固java第七天
巩固内容: HTML 属性 属性是 HTML 元素提供的附加信息. HTML 属性 HTML 元素可以设置属性 属性可以在元素中添加附加信息 属性一般描述于开始标签 属性总是以名称/值对的形式出现,比 ...
- 练习1--爬取btc论坛的title和相应的url
爬不到此论坛的html源码,应该涉及到反爬技术,以后再来解决,代码如下 import requests from lxml import etree import json class BtcSpid ...
- 淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem
在过去的一段时间里面一直在使用Vue配合 lib-flexible和px2rem-loader配合做移动端的网页适配.秉着求知的思想,今天决定对他的原理进行分析.目前网上比较主流使用的就是淘宝方 ...
- CSS基础语法(一)
目录 CSS基础语法(一) 一.CSS简介 1.CSS语法规范 2.CSS代码风格 二.CSS基础选择器 1.标签选择器 2.类选择器 3.id选择器 4.通配符选择器 5.总结 三.CSS字体属性 ...
- java加密方式
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些 ...
- vue-cli4脚手架搭建二
vue-cli4脚手架搭建一 vue create vue3 cd vue3 yarn serve http://localhost:8080/#/ main.js文件 import Vue from ...
- SpringBoot环境下java实现文件的下载
思路:文件下载,就是给服务器上的文件创建输入流,客户端创建输出流,将文件读出,读入到客户端的输出流中,(流与流的转换) package com.cst.icode.controller; import ...
- java多线程并发编程中的锁
synchronized: https://www.cnblogs.com/dolphin0520/p/3923737.html Lock:https://www.cnblogs.com/dolphi ...
- 【HarmonyOS】【DevEco Studio】NOTE05:PageAbility生命周期的呈现
NOTE05:PageAbility生命周期的呈现 基本界面设置 创建Slice与对应xml BarAbilitySlice package com.example.myapplication.sli ...
- 【Java】【学习】【监听器】Listener的学习的案例(窗体程序)
JavaWeb 监听器listener 学习与简单应用 Java窗体程序使用监听器 效果:点击按钮,控制台出现文字 代码如下 import javax.swing.*; import java.awt ...