Sonar6.0应用之四:与Jenkins集成分析(Scanner+Maven)

一、安装并配置Jenkins。

Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎。主要用于:

  • 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。
  • 监控一些定时执行的任务。

它有两种安装方法,一种是独立安装,另一种是做为一个Tomcat的一个war插件来运行(JDK环境是必不可少的),先下载Tomcat,解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat,将jenkins.war文件放入tomcat下的webapps目录下,启动jenkins时,会自动在webapps目录下建立jenkins目录,所以在地址栏上访问时需要在IP后面加Jenkins目录,例如:http://IP/jenkins:8080

使用命令行命令Scanner及Runner分析代码,需要人工下载源代码文件夹到分析命令所在服务器进行人工运行,持续性分析体验很差。使用Jenkins可以自动的下载源代码,并自动完成分析,还可以设置定时任务,实现全自动,是懒人必备利器啊!

下例中,使用Git+Scanner及Git+Maven分别进行源代码自动分析。原理基本一样,首先要有一个代码库,如Bitbucket,然后在Jenkins中配置Git从代码库中自动下载最新的代码,最后调用Scanner或Maven把代码发送到SonarQube进行分析,SonarQube上显示本次项目的分析报告。

1、在CentOS中独立安装Jenkins、Maven。

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo  #添加Jenkins的源

rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key      #安装Jenkins的Key    
yum install jenkins                                            #安装Jenkins    
ll /usr/lib/jenkins/            #安装成功后可以查看到Jenkins的war包,如果要升级jenkins,只需要下载这个war包替换下就行。    
vim /etc/sysconfig/jenkins      #配置Jenkins,默认启动端口8080,如果不需要改,配置文件可以不动
systemctl start jenkins         #启动Jenkins服务

chkconfig jenkins on            #设置为开机自动启动

cat /var/lib/jenkins/secrets/initialAdminPassword               #显示Jenkins安装后的Admin的授权号码,复制出来在网页登陆时粘贴上,用于完成授权。

2、在其它电脑上浏览器访问Jenkins,访问地址:http://服务器IP:8080,粘贴上复制好的授权号,授权成功后,设置管理员账号及密码,再安装默认组件,最后进入启动界面:

在Jenkins中下载并安装sonarQube Plugin插件。    
   

安装完成后勾选下图,Jenkins自动重启。

3、在Jenkins中配置Sonar及设置全局配置

在Jenkins首页的系统管理》系统配置中找到Sonaqube的配置项

设置全局工具配置

4、新建一个自由项目,并配置Scanner时行配置

在Bitbucket中找到要分析项目源码Git地址,复制下来

在Git中配置源码获取地址,并增加在Bitbucket中最少具有读取权限的用户名及密码,实现从源码库下载源码的功能。

构建Scanner来执行代码分析

把Scanner的配置文件复制到Analysis properties中,项目名称、主键、版本号根据实际需要修改。

立即构建首次代码分析

查看执行过程

出现错误,和SonarQubo中的Findbugs插件有冲突,需要在SonarQubo中删除这个插件,再执行分析就能成功

分析成功

SonarQube中查看分析结果

5、安装Maven,并新建一个maven项目,进行配置

在系统管理——》全局工具管理中安装Maven

随便取个名字并保存

现在还不会安装maven,只有在“立即构建”时才会执行安装maven的操作,接下来新建一个maven项目

同样的配置Git

源码目录下的“pom.xml”是Eclipse中的Maven生成的配置文件,需要在Eclipse中先进行配置,并且生成在根目录下。

增加一个执行Shell

写入如下命令

第一次很慢,因为要先下载Maven安装后,再执行代码分析,以后就快多了,构建成功了在Console Output中有SUCCESS的提示

在sonar中查看(这是已经配置好的仪表盘)

时间: 2024-08-28 23:37:01

Sonar6.0应用之四:与Jenkins集成分析(Scanner+Maven)的相关文章

Jmeter测试报告可视化(Excel, html以及jenkins集成)

做性能测试通常在none GUI的命令行模式下运行Jmeter. 例如: jmeter -n -t /opt/las/JMeter/TestPlan/test.jmx -l /opt/las/JMeter/TestReport/test.jtl jtl里面的内容可以通过修改jmeter bin目录下的jmeter.properties设置,例如: jmeter.save.saveservice.response_code=true jmeter.save.saveservice.response

jenkins集成python的单元测试

最近在研究jenkins的集成,然后想把自己写的python工具也用jenkins集成一下 废话少说,来看结构 sparking.py ''' @author: lianying ''' class Sparking: @staticmethod def get_num_of_zero(bits_num, key): cnt = 0 while key: cnt += 1 key &= key -1 return bits_num - cnt @staticmethod def get_num_

jenkins 集成部署站点

Jenkins 集成部署站点 最近为了在两台Linux中,去作jenkins的集成发布,所以在部署jenkins的这台电脑(A) 要把打包好的war 部署到远程服务器(B) 在两台电脑间进行传输的时候,要配置一个免登入的配置 1.1. 在A电脑上 ssh-keygen生成秘钥,同时把生成的id_ras.pub文件上传到B服务器(/home/${user}/.ssh/authorized_keys文件里) 1.2. 修改B服务器的 .ssh 文件属性为 700,authorized_keys为 6

【持续集成】GIT+jenkins+snoar——jenkins发布php、maven项目

一.持续集成 1.1 什么是持续集成? continuous integration (CI),持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员,每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化构建(包括编译.发布.自动化测试)来验证,从而尽快的发现集成错误.许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件. 1.2 持续集成最佳实践 维护一个单一的代码库 使构建自动化 执行测试是构建的一部分 集成日志及历史记录 使用统

Jenkins集成源码静态分析工具

1.static code analysis插件说明 Jenkins提供了插件"static code analysis",该插件搜集不同的分析结果,并集合显示出来. 实际上,我们可以认为static code analysi和FindBugs等插件组成了一个静态分析代码的套件.仅仅安装static code analysis是不够的,还需要安装其他插件(如FindBugs),才能正确工作. 2.static code analysis支持哪些插件? 官方文档:https://wiki

Materials Explorer v4.0 Ultra 1CD(材料建模可视化分析工具。可用来建立分子、晶体原料、聚合物、表层与催化剂的图形化模型)

Sage.Informatics产品: ChemTK.v4.2.1.WinALL 1CD(Windows系统下的化学工具,为制药或生物工业提供低成本的研究工具) Merck.Index.13th.Edition.V13.1-ISO 1CD(默克化学宝典参考资料,有超过1万个专题论文.化学品.药品.生物制品等数据) Wavefunction产品: Spartan.08.v1.1 1CD(多功能化学软件) FUJITSU产品: Cache.v7.5.0.85-ISO 1CD(独特的桌面型分子结构软件

ldap配置系列二:jenkins集成ldap

ldap配置系列二:jenkins集成ldap jenkins简介 jenkins是一个独立的.开放源码的自动化服务器,它可以用于自动化与构建.测试.交付或部署软件相关的各种任务. jenkins官方文档: https://jenkins.io/doc/ jenkins安装 jenkins下载地址: https://jenkins.io/download/ # jdk1.8下载 [[email protected]_0_15_centos local]# wget http://download

linux服务器中Jenkins集成git、Gradle持续构建Springboot项目

Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器中使用Jenkins自动发布一个可作为linux服务发布的Springboot项目. 自动构建需要经过如下步骤:从git仓库下载代码.使用Gradle进行构建.使用SSH推送到另一台linux服务器.项目作为linux服务启动.本章将逐条仔细讲解. 一.获得一台linux服务器 要在linux下搞持续构建,首先你得先有一台linux服务器,作为小白,手头的机器肯定都是windows的,搞

JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分

目标: 创建包含性能测试流程的持续交付管道,以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分段.因此,即使QA对构建进行了认证,代码也可能无法在特定负载下按预期工作,而这些负载只能在Staging环境中找到.此性能问题需要再次进行代码更改 - >构建 - > QA验证,这可能会推迟您的生产推送! 那么,我们能否将性能测试融入现有的持续开发和测试流程中,以尽早发现性能问题? 是! 我们绝对可