DevOps :Jenkins pipeline + sonarQube 完成静态检测 + junit 覆盖率报告。

项目基础:

1,maven3.3.9  +  java 1.8

2,jenkins 2.138.2

3,sonarQube6.7.5 + 汉化

 

前言:jenkins maven  java1.8 环境安装过程不在描述,我们采用jenkins pipeline 来实现标题的功能,希望小编踩过的坑对后来人能够提供帮助~good luck.

 

参考博文:

SonarQube 的安装

比较全面的jenkins pipeline cicd 流程, 仅供参考

 

步骤一:通过 jenkins 集成 sonarQube 实现‘静态代码检测’

1,只要jenkins 集成其他server,第一想到的就是 jenkins 的插件,进入到Jenkins 的web 控制台,系统设置-》插件管理-》可选插件 ,输入 sonar 后,搜索,找到 “SonarQube Scanner for Jenkins” 的插件 和 “Sonar Quality Gates Plugin”,不通版本的kenkins 插件的名称可能不同,自己灵活处理即可。

解释SonarQube Scanner for Jenkins 该插件会让你的jenkins 可以通过配置 sonarqube 的地址,账号密码进行远程登陆,第二个插件小编猜测 提供的是:我们构建完项目后,可以在jenkins web 页面直接点击sonarqube 图标的按钮直接跳转到 sonarqube 的web 页面,起到一个重定向作用,具体还望大家抱有怀疑的态度自行扩展。

 

2,插件有了,jenkins web 管理页面,系统设置-》系统设置-》SonarQube servers

 

解释name 名字随便编写,一会我们pipeline 要用到,地址是你的sonarqube server 的地址,token 你再安装sonarqube 的时候会有一步骤提示你创建令牌,此令牌在sonarqube web 管理页面也可以修改。如果没有此配置处,证明你的插件安装不对或者不支持。

 

3,SonarQube web 控制台的使用,建议大家找找视频,了解一下,我们用到它 无外乎一个“代码的静态检测” 和 “junit 覆盖率” 两项是否合格,当然合格标准你要在sonarqube web 页面进行配置(自行学习),当不合格时,我们需要配置一个SonarQube Webhook 告知我们的jenkins pipeline 所执行的当前行,来拿到 sonarqube 的 检测是否满足我们设置的阀门或者规范,捕捉到 sonarqube 的 success 或者 error 后,可以控制接下来的pipeline 代码的执行分支。

 

解释上图中的名称随便起,后面的地址有点讲究,我用的是非账号密码的,这个地址结构:http://jenkins-ip:jenkins-port/sonarqube-webhook/ , 两点注意:sonarqube-webhook 不能改,后面必须跟上/。你只需要把上面的url 中的ip port 改成你的jenkins 的就行了。

 

4,junit 覆盖率准备

1,maven 

       <dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <scope>test</scope>  
        </dependency>

       <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <dependencies>
                    <dependency>
      

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值