版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、集成质量管理平台搭建第一章 Sonar安装21.1下载sonar21.2安装sonar21.2.1 JDK安装配置21.2.2数据库安装21.3成功界面31.4配置插件31.4.1插件介绍31.4.2常用的插件:4第二章 Maven安装52.1下载 Maven52.2配置Maven5第三章 Jenkins安装53.1安装Jenkins5第四章 Sonar-Runner安装64.1下载Sonar-Runner64.2配置Sonar-Runner环境变量64.3测试文件的配置64.4应用sonar监测代码质量7第五章 环境集成75.1 Sonar和Jenkins集成75.2 Jenkins系统配置
2、95.3 Jenkins项目配置10第六章 常见错误146.1 sonar没有启动146.2 Maven setting.xml配置156.3 文件POM.xml配置166.4 0 files indexd1616第一章 Sonar安装1.1下载sonar 最新版版本:4.2,稳定版:3.7(本人建议下载3.7稳定版) 下载地址:/downloads/下载完成之后,要注意一个问题,官方的说明是不要安装在以数字开头的目录中。所以我们就不要解压在数字开头的目录中。1.2安装sonar1.2.1 JDK安装配置这个不予多说,最基本的JAVA开发环境配
3、置,下载JDK,配置其JAVA_HOME,PATH等。1.2.2数据库安装(1)本人是选择的MySQL,这里要注意的是如果你下载的是免安装版,直接解压使用的话,需要配置my.ini。(2)在数据库中创建新用户sonar 密码为sonar 并给用户赋权。(用户和密码可以自定义,如果自定义需要更改perties配置文件中得sonar.jdbc.username与sonar.jdbc.password,其默认的就是sonar)。(3)配置perties文件。a配置启动的http端口:sonar.web.host: localhost(或者
4、你的IP)sonar.web.port: 9000(默认是9000,你可以修改,不然会和Jenkins的端口号冲突)sonar.web.context: / (三句前本来被注释,取消注释) b取消MySQL连接的注释,并输入自己数据库的url地址,同时将默认的sonar.jdbc.url屏蔽#- MySQL 5.x# Comment the embedded database and uncomment the following line to use MySQLsonar.jdbc.url: jdbc:mysql:/localhost:3306/test?useUnicode=true&a
5、mp;characterEncoding=utf8&rewriteBatchedStatements=true# :mysql是指你要连接的事Mysql数据库,这里我给Sonar的权限是管理员所以可以用localhost,否则你要使用的你的IP地址,3306是你使用的端口号,test是我测试时创建的数据库,你需要改成你自己的数据库名。# Optional properties sonar.jdbc.driverClassName: com.mysql.jdbc.Driversonar.jdbc.validationQuery: select 1c进入bin中,选择适合自己系统,运行so
6、nar.sh,如果是windows运行bat。运行sonar-3.7binwindows-x86-64StartSonar.bat,打开相应的网页:http:/localhost:9000测试是否配置成功,这里的页面链接跟前头的http配置有关。(第一次运行StartSonar.bat,时需要的时间较长,请耐心等待,切不可关闭窗口重新加载,sonar其需要创建一个和Mysql数据库相关的migrating数据库和表,如果中途退出则创建不成功!)1.3成功界面登陆用户名和密码都是admin 1.4配置插件1.4.1插件介绍Sonar支持多种插件,插件的下载地址为:http:/docs.codeh
7、/display/SONAR/Plugin+Library将下载后的插件上传到$SONAR_HOMEextensionsplugins目录下,重新启动sonar。sonar默认集成了Java Ecosystem插件,该插件是一组插件的合集(1)Java sonar-java-plugin:java源代码解析,计算指标等(2)Squid sonar-squid-java-plugin:检查违反Sonar定义规则的代码(3)Checkstyle sonar-checkstyle-plugin:使用CheckStyle检查违反统一代码编写风格的代码(4)FindBugs sonar-f
8、indbugs-plugin:使用FindBugs检查违反规则的缺陷代码(5)PMD sonar-pmd-plugin:使用pmd检查违反规则的代码(6)Surefire sonar-surefire-plugin:使用Surefire执行单元测试(7)Cobertura sonar-cobertura-plugin:使用Cobertura获取代码覆盖率(8)JaCoCo sonar-jacoco-plugin:使用JaCOCO获取代码覆盖率1.4.2常用的插件:(1)JavaScript代码检查:/display/SONAR/JavaScript
9、+Plugin(2)python代码检查:/display/SONAR/Python+Plugin(3)Web页面检查(HTML、JSP、JSF、Ruby、PHP等):/display/SONAR/Web+Plugin(4)xml文件检查:/display/SONAR/XML+Plugin(5)scm源码库统计分析:/display/SONAR/SCM+Stats+Plugin(6)文件度量:http:/docs
10、./display/SONAR/Tab+Metrics+Plugin(7)中文语言包:/display/SONAR/Chinese+Pack(8)时间表显示度量结果:/display/SONAR/Timeline+Plugin(9)度量结果演进图:/display/SONAR/Motion+Chart+Plugin(b)插件配置示例(本段内容来自第二章 Maven安装2.1下载 Maven最新版:Apache Maven 3.2.1下
11、载地址/download.cgi2.2配置MavenMaven的配置也比较简单:MAVEN_HOME= $ Maven.home PATH=% MAVEN_HOME %bin测试maven是否成功 :mvn v第三章 Jenkins安装3.1安装Jenkins下载地址:/content/thank-you-downloading-windows-installerJenkins安装比较简单在这里就不多说了,其最主要的就是Jenkins集成Maven和Sonar。3.2安装后打开http:/localhost:9
12、000/进行测试3.3成功界面:第四章 Sonar-Runner安装4.1下载Sonar-Runner下载地址:/org/codehaus/sonar-plugins/sonar-runner4.2配置Sonar-Runner环境变量(1)SONAR_RUNNER_HOME 你的安装位置(2)Path $SONAR_RUNNER_HOME/bin (Unix) or %SONAR_RUNNER_HOME%/bin(3)修改$SONAR_RUNNER_HOME/conf/perties文件,打开databa
13、se connection, server URL的注释4.3测试文件的配置在每个项目的项目源文件目录下新建一个文件名为perties的文件,在文件中输入以下内容:# required metadata# My project-修改成你的项目名称jectKey=my:jectName=My jectVersion=1.0# path to source directories (required)# srcDir1,srcDir2-修改成你的源文件夹路径sonar.sources
14、=srcDir1,srcDir2 #通常就填src# path to test source directories (optional)# testDir1,testDir2-修改成你的测试文件夹路径 tests=testDir1,testDir2# path to project binaries (optional), for example directory of Java #bytecode# binDir-修改成你的二进制文件夹路径 # binaries=binDir #此为可选项,可以不填# path to project libraries (optional)#librar
15、ies=junit.jar #此为可选项,可以不填# advanced perty=value4.4应用sonar监测代码质量以上配置完成之后,就可以应用sonar来监测代码质量了。(1)先启动sonar用sonar-3.7binwindows-x86-64 StartSonar.bat文件,这时可以查看sonar-3.7logs sonar.log文件,看是否已经启动sonar(2)启动好sonar之后,接着在命令行中切换到项目文件的目录下,然后输入sonar-runner,等到运行结束后,进入到http:/localhost:9000页面,查看代
16、码的质量统计结果。需进入项目的目录中:成功时如图所示:第五章 环境集成5.1 Sonar和Jenkins集成5.1.1通过Maven进行集成修改maven的主配置文件($MAVEN_HOME/conf/settings.xml文件或者 /.m2/settings.xml文件),在其中增加访问Sonar数据库及Sonar服务地址,添加如下配置:<profile><id>sonar</id><properties><sonar.jdbc.url>jdbc:mysql:/localhost:3306/sonar</sonar.jdbc
17、.url><sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver><sonar.jdbc.username>sonar</sonar.jdbc.username><sonar.jdbc.password>sonar</sonar.jdbc.password><sonar.host.url>http:/localhost:9000</sonar.host.url> <!- Sonar服务器访问地址 -></prop
18、erties></profile><activeProfiles><activeProfile>sonar</activeProfile></activeProfiles>此处注意sonar.host.url地址应根据sonar部署情况修改同样,为了避免内存溢出,推荐增加内存堆栈的大小。设置MAVEN_OPTS环境变量:set MAVEN_OPTS=”-Xmx512m -XX:MaxPermSize=256m”使用Sonar(1) 运行Sonar服务器;(2) 通过 mvn sonar:sonar 将代码注入到Sonar中进行分
19、析处理,并将处理结果以XML的形式保存在数据库中;(3)通过浏览器访问,显示分析结果;(4)持续运行Maven构建,会迭代显示分析结果;(5)可以显式指定sonar插件的版本,如下:<project> <build> <plugins> <plugin> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.5.1</version> </
20、plugin> </plugins> </build></project>(6)可以显式的将sonar绑定到Maven生命周期中,如下:<plugin> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.5.1</version> <executions> <execution> <id>sonar&
21、lt;/id> <phase>site</phase> <goals> <goal>sonar</goal> </goals> </execution> </executions></plugin>5.1.2下载sonar jenkins plugin 在jenkins的插件管理中选择安装sonar jenkins plugin,该插件可以使项目每次构建都调用sonar进行代码度量。打开Jenkins,选择系统管理,然后进入管理插件,找到sonar plugin,下载安装。5.2
22、Jenkins系统配置5.2.1 JDK配置5.2.2 sonar runner 配置5.2.3 Maven配置5.2.4 Sonar 配置5.3 Jenkins项目配置进入你创建的项目,我这里创建的项目名是scmp,进入后,找到左边的配置,进入。5.3.1源码管理选择你的源码来源,我用的是SVN,选择 Subversion选择框,里面要配置你的源码URL,登录名和密码,其中Repository depth选择infinity,Local module directory是你导出文件的位置,此位置是相对于Jenkins的,在Jenkins的workspace里。如图所示:5.3.2
23、Build其中的root Pom选择是相对于workspace的,即是在workspace里里面。 如图:5.3.3 Post Steps如图操作:选择Maven targets然后里面的设置如图:5.3.4 构建后操作添加构建后操作步骤:此处只需要填写下JDK就可以用了,应用程序构建时就会自动触发Sonar对代码的检查成功效果图:第六章 常见错误6.1 sonar没有启动错误如下:ERROR Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli) on project scmp:
24、SonarQube server can not be reached at http:/localhost:9000. Please check the parameter 'sonar.host.url'. Connection refused: connect -> Help 1ERROR ERROR To see the full stack trace of the errors, re-run Maven with the -e switch.JENKINS Archiving D:Program FilesJenkinsworkspacescmpscmppo
25、m.xml to com.fnii.scmp/scmp/0.0.1-SNAPSHOT/scmp-0.0.1-SNAPSHOT.pomERROR Re-run Maven using the -X switch to enable full debug logging.ERROR ERROR For more information about the errors and possible solutions, please read the following articles:ERROR Help 1 /confluence/display/MA
26、VEN/MojoExecutionExceptionAn attempt to send an e-mail to empty list of recipients, ignored.channel stoppedSkipping sonar analysis due to bad build status FAILUREAn attempt to send an e-mail to empty list of recipients, ignored.Finished: FAILURE解决方法:应先运行sonar,在运行Jenkins进行构建项目6.2 Maven setting.xml配置错
27、误如下: ERROR Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.3.1:sonar (default-cli) on project scmp: SonarQube server can not be reached at http:/localhost:9000. Please check the parameter 'sonar.host.url'. Connection refused: connect -> Help 1ERROR ERROR To see the full stac
28、k trace of the errors, re-run Maven with the -e switch.ERROR Re-run Maven using the -X switch to enable full debug logging.ERROR ERROR For more information about the errors and possible solutions, please read the following articles:ERROR Help 1 /confluence/display/MAVEN/MojoExe
29、cutionException解决方法:因为Maven中找不到sonar-maven-plugin配置,将下面文件直接替换即可:<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="/SETTINGS/1.0.0" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="http:/maven.ap
30、/SETTINGS/1.0.0 /xsd/settings-1.0.0.xsd"> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!- EXAMPLE FOR MYSQL -> <sonar.jdbc.url>jdbc:mysql:/localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 </sonar.jdbc.url> <sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName> <sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>so
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026重庆市规划和自然资源局某直属事业单位招聘3人备考题库完整答案详解
- 2025年湖北交通职业技术学院单招职业技能考试题库带答案解析
- 2025年西安音乐学院马克思主义基本原理概论期末考试模拟题含答案解析(必刷)
- 2025年贵州电子商务职业技术学院单招职业倾向性测试题库带答案解析
- 2025年辽宁工业大学马克思主义基本原理概论期末考试模拟题含答案解析(必刷)
- 2025年郑州财税金融职业学院马克思主义基本原理概论期末考试模拟题带答案解析(必刷)
- 2025年重庆师范大学马克思主义基本原理概论期末考试模拟题附答案解析(必刷)
- 2025年重庆理工大学马克思主义基本原理概论期末考试模拟题含答案解析(夺冠)
- 2025年长沙科技学院马克思主义基本原理概论期末考试模拟题带答案解析(必刷)
- 2025年青海省海南藏族自治州单招职业倾向性考试题库附答案解析
- 励志类的美文欣赏范文(4篇)
- 浙江省绍兴市上虞区2024-2025学年七年级上学期期末语文试题(解析版)
- 广东省广州市白云区2024-2025学年六年级(上)期末语文试卷(有答案)
- GB/T 45166-2024无损检测红外热成像检测总则
- 山东省菏泽市东明县2024-2025学年七年级上学期考试生物试题
- 2024年度工程成本控制优化合同
- 二零二四年医院停车场建设及运营管理合同
- 乘务长管理思路
- 2024集装箱储能系统测试大纲
- 贵州省贵阳市2023-2024学年高一上学期期末考试 物理 含解析
- 妇科小讲课 异位妊娠
评论
0/150
提交评论