持续集成代码管理平台Hudson+Sonar(一)
2012-11-27 23:18
477 查看
极限编程中一项建议实践便是持续集成,持续集成是指在开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。
持续集成提供了及时发现问题、追踪问题、修复问题的机制,他替代了传统的在所有代码编写完毕后才提交QA部门进行测试的方法。
持续集成对单元测试较为依赖,测试覆盖率越高,单元测试越准确,越能体现持续集成的效果。持续集成主要在以下方面提供好处;
1、持续自动化测试(持续集成可通过时间间隔触发,或其他方式触发)
2、跟踪工程健康状况
3、强制性单元测试用例,验收测试用例等
4、静态代码检测,生成测试报告
Hudson是一款轻量级、易扩展、易配置的持续集成平台,该集成平台maven3有良好的支持,并且扩展插件丰富,包括Findbug,PMD静态分析插件、emma单元测试覆盖率插件、junit测试报告插件等等。
这是一套从开始到结束过程中的一个完整的代码检测,规范化,分析代码质量的一个平台。
一、首先介绍一下Sonar
这个是一个开源的质量管理平台,专注于从项目到类方法的持续的分析和测量技术质量,它把代码质量相关软件集成到一起统一管理。它支持插件式管理,比如Checkstyle,Findbug,PMD这些插件。然后通过分析把结果保存在数据库中,用户可以通过浏览器进行浏览查看分析结果,sonar的整个流程如下图所示。
接下来简单介绍一下他的流程:代码通过Sonar的检查包括Sonar的插件,然后进行下一步;
把检查的结果通过浏览器显示出来,通过sonar的配置文件指定的连接数据库,把检查的结果与数据库中的检查规则进行比较、分析然后得出代码漏,质量不高,不规范等问题;
安装和配置sonar步骤:
1.安装mysql,修改sonar连接DB方式为mysql
# yum install mysql-connector-odbc.x86_64 mysql-server //我是用rpm包装的,当然可以编译安装
# service mysqld start
# mysql
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> grant all privileges on sonar.* to 'sonar'@'localhost' identified by 'sonar';
mysql> flush privileges;
2.安装sonar
下载sonar然后放到服务器上
# cp sonar-3.3.2.zip /usr/local/
# unzip sonar-3.3.2.zip
# ln -sv sonar-3.3.2 sonar
# vim sonar/conf/sonar.properties 修改sonar的配置文件
把以下几项打开:
sonar.jdbc.username: sonar //授权连接数据库的帐号
sonar.jdbc.password: sonar //连接数据库密码
#----- MySQL 5.x/6.x
# Comment the embedded database and uncomment the following line to use MySQL
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
# Optional properties
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
3.启动sonar
# sonar/bin/linux-x86-64/sonar.sh start
二、其次介绍一下Hudson
Hudson是一种革命性的开放源码 CI 服务器,它具有强大的插件框架 ,所以很容易添加特性,例如添加 tomcat 插件后,可以方将 build 好的 war 包方便的部署到 Tomcat 里。他的整个流程大致如下图所示。
Hudson是一个调度管理接口,通过调度Maven执行构建和返回,通过调用sonar进行对源码开发归法进行检查,而Sonar又可以利用插件进行检查,这样就能更方便的进行有机结合。 然后通过浏览器可以查看构建结果和记录,由于Hudson可以把war包放到tomcat中,所以只需要一个tomcat环境即可实现浏览。配置Hudson1.安装jdk环境
# cd /usr/local
# chmod +x jdk-6u25-linux-x64.bin
# ln -sv jdk1.6.0_25 java
# vim /etc/profile 添加java环境变量
#set jdk env
JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
2.解压安装tomcat
# tar xf apache-tomcat-6.0.36.tar.gz
# ln -sv apache-tomcat-6.0.36 tomcat
# vim /etc/profile 添加tomcat的环境变量
#set tomcat env
export TOMCAT_HOME=/usr/local/tomcat
export BASE_HOME=/usr/local/tomcat
# source /etc/profile
# $TOMCAT_HOME/bin/startup.sh start
vim /etc/init.d/tomcat添加一下内容
#chkconfig: 2345 63 37
#description:tomcat server
TOMCAT_HOME=/usr/local/tomcat
BASE_HOME=/usr/local/tomcat
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/tomcat
启动tomcat即可。
3.下载hudson
# wget http://java.net/downloads/hudson/war/hudson-2.2.1.war
# mv hudson-2.2.1.war /usr/local/tomcat/webapps/hudson.war
然后重新启动tomcat
#/usr/local/tomcat/startup.sh start
然后在浏览器上输入http://IP:8080/hudson即可访问
访问如下图所示:
下一篇博客将介绍如何进行代码检查和构建整个过程。
参考文档:http://docs.codehaus.org/display/SONAR/Documentation
本文出自 “Ro の博客” 博客,请务必保留此出处http://luoweiro.blog.51cto.com/2186161/1072399
持续集成提供了及时发现问题、追踪问题、修复问题的机制,他替代了传统的在所有代码编写完毕后才提交QA部门进行测试的方法。
持续集成对单元测试较为依赖,测试覆盖率越高,单元测试越准确,越能体现持续集成的效果。持续集成主要在以下方面提供好处;
1、持续自动化测试(持续集成可通过时间间隔触发,或其他方式触发)
2、跟踪工程健康状况
3、强制性单元测试用例,验收测试用例等
4、静态代码检测,生成测试报告
Hudson是一款轻量级、易扩展、易配置的持续集成平台,该集成平台maven3有良好的支持,并且扩展插件丰富,包括Findbug,PMD静态分析插件、emma单元测试覆盖率插件、junit测试报告插件等等。
这是一套从开始到结束过程中的一个完整的代码检测,规范化,分析代码质量的一个平台。
一、首先介绍一下Sonar
这个是一个开源的质量管理平台,专注于从项目到类方法的持续的分析和测量技术质量,它把代码质量相关软件集成到一起统一管理。它支持插件式管理,比如Checkstyle,Findbug,PMD这些插件。然后通过分析把结果保存在数据库中,用户可以通过浏览器进行浏览查看分析结果,sonar的整个流程如下图所示。
接下来简单介绍一下他的流程:代码通过Sonar的检查包括Sonar的插件,然后进行下一步;
把检查的结果通过浏览器显示出来,通过sonar的配置文件指定的连接数据库,把检查的结果与数据库中的检查规则进行比较、分析然后得出代码漏,质量不高,不规范等问题;
安装和配置sonar步骤:
1.安装mysql,修改sonar连接DB方式为mysql
# yum install mysql-connector-odbc.x86_64 mysql-server //我是用rpm包装的,当然可以编译安装
# service mysqld start
# mysql
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> grant all privileges on sonar.* to 'sonar'@'localhost' identified by 'sonar';
mysql> flush privileges;
2.安装sonar
下载sonar然后放到服务器上
# cp sonar-3.3.2.zip /usr/local/
# unzip sonar-3.3.2.zip
# ln -sv sonar-3.3.2 sonar
# vim sonar/conf/sonar.properties 修改sonar的配置文件
把以下几项打开:
sonar.jdbc.username: sonar //授权连接数据库的帐号
sonar.jdbc.password: sonar //连接数据库密码
#----- MySQL 5.x/6.x
# Comment the embedded database and uncomment the following line to use MySQL
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
# Optional properties
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
3.启动sonar
# sonar/bin/linux-x86-64/sonar.sh start
二、其次介绍一下Hudson
Hudson是一种革命性的开放源码 CI 服务器,它具有强大的插件框架 ,所以很容易添加特性,例如添加 tomcat 插件后,可以方将 build 好的 war 包方便的部署到 Tomcat 里。他的整个流程大致如下图所示。
Hudson是一个调度管理接口,通过调度Maven执行构建和返回,通过调用sonar进行对源码开发归法进行检查,而Sonar又可以利用插件进行检查,这样就能更方便的进行有机结合。 然后通过浏览器可以查看构建结果和记录,由于Hudson可以把war包放到tomcat中,所以只需要一个tomcat环境即可实现浏览。配置Hudson1.安装jdk环境
# cd /usr/local
# chmod +x jdk-6u25-linux-x64.bin
# ln -sv jdk1.6.0_25 java
# vim /etc/profile 添加java环境变量
#set jdk env
JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
2.解压安装tomcat
# tar xf apache-tomcat-6.0.36.tar.gz
# ln -sv apache-tomcat-6.0.36 tomcat
# vim /etc/profile 添加tomcat的环境变量
#set tomcat env
export TOMCAT_HOME=/usr/local/tomcat
export BASE_HOME=/usr/local/tomcat
# source /etc/profile
# $TOMCAT_HOME/bin/startup.sh start
vim /etc/init.d/tomcat添加一下内容
#chkconfig: 2345 63 37
#description:tomcat server
TOMCAT_HOME=/usr/local/tomcat
BASE_HOME=/usr/local/tomcat
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/tomcat
启动tomcat即可。
3.下载hudson
# wget http://java.net/downloads/hudson/war/hudson-2.2.1.war
# mv hudson-2.2.1.war /usr/local/tomcat/webapps/hudson.war
然后重新启动tomcat
#/usr/local/tomcat/startup.sh start
然后在浏览器上输入http://IP:8080/hudson即可访问
访问如下图所示:
下一篇博客将介绍如何进行代码检查和构建整个过程。
参考文档:http://docs.codehaus.org/display/SONAR/Documentation
本文出自 “Ro の博客” 博客,请务必保留此出处http://luoweiro.blog.51cto.com/2186161/1072399
相关文章推荐
- 持续集成篇_06_SonarQube代码质量管理平台的配置与使用
- 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装
- 分布式架构学习之持续集成:011--SonarQube代码质量管理平台的安装、配置和使用
- 持续集成篇-- SonarQube代码质量管理平台的安装
- 持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知
- Dubbo文档持续集成篇--SonarQube代码质量管理平台的安装
- Dubbo教程持续集成篇--SonarQube代码质量管理平台的配置与使用
- linux学习:持续集成篇--sonarqube代码质量管理平台的介绍与安装-04
- 持续集成篇-- SonarQube代码质量管理平台的配置与使用
- 持续集成篇-- SonarQube代码质量管理平台的安装
- 持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知
- 持续集成篇-- SonarQube代码质量管理平台的配置与使用
- 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装
- 持续集成 静态代码监控平台——Sonar 环境搭建
- 持续集成代码管理平台svn版本库控制(二)
- Windows+SonarQube+Jenkins+Git+SonarPython配置持续集成的代码质量平台
- Jenkins+maven+git+sonar 系统持续集成&代码单测管理
- SonarQube代码质量管理平台安装及与Jenkins的集成
- 个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统