jenkins和sonar的几个问题
错误1:有个pom文件内容错了,但是在jenkins上面编译的时候,控制台将这个错误信息给打出来了,maven的编译也打印了failed with error,但是jenkins的job并没有因此而停止,而是继续指后面的sonar分析去了,设置了sonar 的Skip analysis on build failure,以及设置post step的Run only if build succeeds,也都无果
[ERROR] BUILD ERROR
[INFO] Failed to configure plugin parameters for: org.apache.maven.plugins:maven-dependency-plugin:2.0
Cause: Error loading class 'org.apache.maven.plugin.dependency.fromConfiguration.Dependency'
后来排查下来,怀疑是maven的缺陷导致的jenkins没有收到错误码来中断执行导致,遂升级maven到3.0.5,然后执行build,job中断了执行,目的达到,抛出的错误如下,该步的问题,基本解决
cause : Unable to parse configuration of mojo org.apache.maven.plugins:maven-dependency-plugin:2.1:copy: Error loading class 'org.apache.maven.plugin.dependency.fromConfiguration.Dependency'
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.1:copy (copy-libs) on project cifin-assembly-ace: Unable to parse configuration of mojo org.apache.maven.plugins:maven-dependency-plugin:2.1:copy: Error loading class 'org.apache.maven.plugin.dependency.fromConfiguration.Dependency'
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:221)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
问题2:jenkins执行job的build时,使用的是maven3.0.5,sonar配置时,sonar-maven-plugin配置的是1.0-beta2,导致报错:
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:1.0-beta-2:sonar (default-cli) on project cifin-parent: Can not execute Sonar: UnsupportedOperationException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:1.0-beta-2:sonar (default-cli) on project cifin-parent: Can not execute Sonar
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
这个错误是由于sonar-maven-plugin导致的,可以参考以下文档
http://sonar.15.x6.nabble.com/sonar-maven-plugin-causes-UnsupportedOperationException-td5002455.html
修改jenkins config中的soanr配置中的sonar-maven-plugin version: 设置成2.0 (应该是2.0以后才支持maven 3.0.5)
问题3:升级了sonar-maven-plugin的versio到2.0, 或者不指定(不指定时,默认是最高version应该是),之前用maven 2.2.1编译的job,又出新状况了
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] PicoLifecycleException: method 'public void org.sonar.jpa.session.AbstractDatabaseConnector.start()', instance 'org.sonar.jpa.session.DriverDatabaseConnector@1304e60, java.lang.RuntimeException: wrapper
Database schema must be updated [version/required=241/191]. Please browse to your sonar homepage.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
这又是个蛋疼的问题,解决办法只好是把sonar的配置再复制一份出来,maven2.2.1编译的,暂时用soanr-maven-plugin version=1.0的sonar来执行sonar分析,maven3.0.5的来用sonar-maven-plugin version=2.0来执行sonar分析
为什么不能一下升级到maven3.0.5,因为有些蛋疼的系统的pom写的不规范,maven3对pom的校验又比maven2严格,有些maven2下面编译没啥问题的系统,用maven3就编译不过了,除非推动他们去修改到那些不规范的pom
jenkins和sonar的几个问题的更多相关文章
- Jenkins+Gradle+Sonar进行Java项目代码分析
Jenkins+Maven+Sonar与Jenkins+Gradle+Sonar配置方法很相似,区别就是Java项目所用的编译工具不同,一个是maven,一个是gradle 使用maven编译工具的可 ...
- jenkins集成sonar
用于我的sonar已经在一台机器上搭建好了,但是每次都要人工去执行sonar-run,很麻烦,所以就想着集成到jenkins上,在jenkins上点点按钮就可以看sonar结果,所以很抱歉,本博客不设 ...
- Jenkins 集成 Sonar
Jenkins 与 Sonar 集成:Sonar 是 Jenkins 之外独立运行的一个服务.Jenkins 中安装插件 SonarQube(并配置其 Sonar Server 的 URL / Acc ...
- Jenkins之Sonar 代码检查
一.简介 SonarQube 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(例如 Hudson/Jenkins 等 ...
- Jenkins集成Sonar Quabe和权限配置
目录 安装Sonar Jenkins配置sonar Maven Jenkins Job配置 Pipeline Jenkins Job配置 Sonar权限管理 Sonar quality Gate通过阈 ...
- jenkins集成sonar代码审核工具
在项目测试管理过程中,项目上线很多时候时间仓促,导致代码质量不高,测试时间不充分会导致线上出现各种各样的问题,这个时候一方面是增加测试的质量把控,还要从根本上解决开发小哥的代码质量问题.而Sonar这 ...
- DEVOPS技术实践_11:Jenkins集成Sonar
前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如S ...
- webhook触发jenkins进行sonar检测
目的 jenkins仅需创建一个job,git推送后自动进行sonar代码检测并上传到sonarqube jenkins插件 已按社区推荐安装基本插件 Generic Webhook Trigger ...
- Jenkins+Maven+Sonar系统持续集成环境部署以及配置
一.Jenkins介绍以及安装 什么是持续集成? 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Ag ...
- jenkins+gitlab+sonar+testng构建持续集成测试环境(配置干货篇)
几个工具的安装部分就不在此介绍了! jenkins配置: 1.插件安装 2.root私钥配置 3.构建job配置 4.部署job配置 5.测试job配置 7.jenkins全局工具配置 8.jenki ...
随机推荐
- abp 取消权限校验
在abp中,通过ABP_PERMISSIONS表来存储定义appService中的方法权限校验.设置方式如下: [AbpAuthorize(PermissionNames.Pages_Users)] ...
- java使用POI读取excel报表
留此作为记录 package com.demo; import java.io.FileInputStream; import java.util.Iterator; import org.apach ...
- postgrepsql 创建函数
-- 这里的CREATE OR REPLACE FUNCTION 为固定写法: "public"."function_info_a1" 这个为函数名 C ...
- Java 面试题 == 和 equals 的区别
int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...
- 【转】Oracle中的decode在mysql中的等价实现
以前用的Oracle,里面的Decode函数非常好用,那MySql实现同样的功能用什么呢?——MySql使用if的语法来支持. 格式:IF(expr1,expr2,expr3)如果expr1是TRUE ...
- Scala学习(七)---包和引入
包和引入 摘要: 在本篇中,你将会了解到Scala中的包和引入语句是如何工作的.相比Java不论是包还是引入都更加符合常规,也更灵活一些.本篇的要点包括: 1. 包也可以像内部类那样嵌套 2. 包路径 ...
- 【nodejs】让nodejs像后端mvc框架(asp.net mvc)一样处理请求--控制器和处理函数的注册篇(4/8)【controller+action】
文章目录 前情概要 前边的文章把一些基本的前置任务都完成了.接下就是比较重要的处理函数action是如何自动发现和注册的拉,也就是入口函数RouteHandler(也是我们的第一个express中间件 ...
- Aop笔记
参考: https://blog.csdn.net/bombSKLK/article/details/79143145 示例 拦截的 注解的方法 @Around("@annotation(c ...
- M1m2分析报告
个人博客链接: http://www.cnblogs.com/kjzxzzh/p/4074386.html http://www.cnblogs.com/kjzxzzh/p/4027699.html ...
- 《Linux内核分析》第六周学习总结
<Linux内核分析>第六周学习总结 ——进程的描述和进程的创建 姓名:王玮怡 学号:20135116 一.理论部分 (一)进程的描述 1 ...