ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:922.61KB ,
资源ID:4688700      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4688700.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(hudson持续集成测试白皮书10.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

hudson持续集成测试白皮书10.docx

1、hudson持续集成测试白皮书10持续集成测试白皮书一、 持续集成整体介绍Hudson 是一个可扩展的持续集成引擎。主要用于:持续、自动地构建/测试软件项目.监控一些定时执行的任务。Hudson拥有的特性包括:1) 易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。 2)易于配置-所有配置都是通过其提供的web界面实现。 3) 集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。 4) 生成JUnit/TestNG测试报告。 5)分布式构建支持-Hudson能够让多台计算机一起构建/测试。 6)文件识别- Hudson能够

2、跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。 7)插件支持-Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。 Sonar是一个开源的质量管理平台,专注于从项目到类方法的持续的分析和测量技术质量,它把代码质量相关软件集成到一起统一管理;简单来说,hudson是持续、自动地构建/测试软件项目,而sonar则是持续,自动地统计并分析软件项目的相关质量数据,用于评估和度量软件项目质量。二、 平台搭建(hudson+sonar)Hudson搭建:1、安装:1)下载最新的版本(它打包为一个 WAR 文件)。hudson官方网址: http:/hudson-ci.org/2)

3、运行 java -jar hudson.war。 注意:Hudson 需要运行 Java 5以及以上的版本。还有一种安装方式就是将下载的war包文件部署到 servlet 容器,然后启动容器,在浏览器的URL地址栏中输入类似http:/localhost:8088/hudson/这样的地址即可。下图是安装成功后的界面(使用的是XP+tomcat+java5环境):2、启动:进入到服务器目录下/home/用户名/apache-tomcat-6.0.20/bin 执行脚本shutdown.sh或者startup.sh进行重新或者停用3、系统配置:在已运行的hudson主页中,点击左侧的系统管理系统

4、设置:在系统配置页面,这个列表中的第一个项显示的是Home directory 。这里包含了Hudson 要执行的所有工作区和存储它的所有配置。为了配置一个JDK和Maven2实例,请在每一节下面单击Add 按钮,这里将添加实例的名称和绝对地址。建议不要勾选Install automatically选项,而是输入用户本机的java,maven2的安装路径并命名。再介绍该页面其他文本信息所表达的含义:system.message 填写一些说明信息Quiet period:hudson定时构建工程的时间(秒)Enable security:设置hudson登陆的规则(默认 为匿名登陆),具体见下文

5、介绍TCP port for JNLP slave agents:不了解JNLP不敢胡写总之就是三种方式:固定(fixed) 随机(Radom) 不使用(disabled),使用固定时可以填入JNLP信息security realm:可以使用中间件容器,数据库,LDAP来验证安全, authorized:可以设置身份的验证方法:系统用户,匿名用户,自定义用户,还有继承用户(此处也在研究中,建议使用匿名用户)JDK installations:设置JDK的安装路径Shell executable:设置window shell命令Ant installation:设置ant 的安装路径mave i

6、nstallation设置mave的安装路径cvs executable:设置cvsnt执行进程的路径(cvs.exe).cvspass file:设置cvsnt管理员文件的路径(passwd文件)e-mail notification:设置当发生错误时发送的邮箱地址hudson url:就是hudson的默认地址还可以配置服务器的其他几个方面,比如向 Hudson 提供一个电子邮件服务器的位置,以便在构建失败时接收电子邮件。根据您的组织设置电子邮件的方式,可能需要让系统管理员帮助设置这个特性。设置电子邮件并不是必需的;Hudson 还支持以 RSS 作为通知机制,对于某些人来说,这种方式比电

7、子邮件更好。究竟选择哪些通知机制完全取决于您。sonar搭建:1. 下载到官方网站下载Sonar的压缩包,解压到任意目录http:/www.sonarsource.org/downloads/2. Mysql数据库安装去没有sql官网上下载mysql的rpm 包:MySQL-client-community-5.1.45-1.rhel5.i386.rpm和MySQL-server-community-5.1.45-1.rhel5.i386.rpm分别rpm ivh MySQL-server-community-5.1.45-1.rhel5.i386.rpm rpm ivh MySQL-clie

8、nt-community-5.1.45-1.rhel5.i386.rpm3. 登陆mysql,mysql的初始用户名密码为root/空正常的登录为mysql u sonar p sonar4. 创建数据库Sonar默认使用嵌入式Derby数据库,如果要迁移到Mysql上,需首先创建一个sonar/sonar的UTF-8的mysql数据库,并授权访问sonar库mysql CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;mysql grant all privileges on sonar.* to sonar%

9、identified by sonar;mysql flush privileges;5修改confsonar.properties文件:Properties代码:#sonar.jdbc.url: jdbc:derby:/localhost:1527/sonar;create=true#sonar.jdbc.driver: org.apache.derby.jdbc.ClientDriver#sonar.jdbc.defaultTransactionIsolation: 1#sonar.jdbc.validationQuery: values(1)sonar.jdbc.url: jdbc:my

10、sql:/服务器IP地址:3306/sonar?useUnicode=true&characterEncoding=utf8sonar.jdbc.driver: com.mysql.jdbc.Driversonar.jdbc.validationQuery: select 15、修改服务器的maven插件的settings.Xml,添加以下配置信息即可 sonar true jdbc:mysql:/服务器IP地址:3306/sonar?useUnicode=true&characterEncoding=utf-8 com.mysql.jdbc.Driver sonar sonar ht

11、tp:/服务器IP地址:9000 6启动sonar执行位于以下脚本在linux :$sonar_home/bin/linux-x86-64/sonar.sh启动sonar程序7.hudson上面安装sonar插件1)点击2)进入3)点击,选择soanr插件,在页面右下角点击安装4)页面提示成功,即标识完成sonar插件的安装5)重启hudson,插件就生效了。8. web页面配置 点击,进入,配置sonar的mysql数据库连接信息如下图所示,要根据自己服务器的具体信息进行相应的配置。NameDisableAdvanced.Server URLServer Public URLDatabase

12、 URLDatabase loginDatabase passwordDatabase driver做完以上步骤基本上hudson+soanr就已经装好了。Sonar使用介绍:根据平台搭建介绍的方法,正确地搭建hudson和sonar平台后,点击下图中链接进入项目的配置页面在配置页面的最下方会出现sonar插件配置项,勾选上即能在hudson每次构建和编译项目时将单元测试覆盖情况,findbugs统计情况等结果统计到sonar平台中进行分析,并生成报告在编译成功后,点击下图中Sonar按钮(或直接通过IP端口访问)即可进入sonar项目管理页面,如下图,找到对应项目并点击标题即可进入报告页面;

13、Build time表示该报告生成的时间sonar生成的报告如下图所示其中1. 表示报告生成时间及代码包版本2. 项目规模(包括代码行,类,包数目的统计)3. 项目注释情况4. 代码复杂度5. 单元测试覆盖情况,单元测试运行情况6. findbugs结果统计点击报告中的数据可以进入详细数据页面,下面以findbugs和单元测试结果为例,1. 查看Findbugs报错的问题Step1:点击错误报告中问题等级链接,Step2:根据需要点击想查看的模块,Step3:在下方就能找到对应的代码,确保选择的tab页为Violations就能看到Findbug发现的问题;其中前面的红色箭头为问题等级标识,对

14、应着上面的major等级2. 查看单元测试覆盖率情况Step1:点击左侧的Coverage tab就能进入单元测试覆盖情况列表,如下图红圈部分列出覆盖率,没有覆盖的行数等信息Step2:代码前方的数字表示这行代码在单元测试中执行的情况,最前面的数字表示执行的次数,50%表示这个判断语句只执行了其中1条分支,0表示改行代码没有单元测试覆盖持续集成曲线图另外,点击报告页面中下图所示的Time machine按钮,可以查看该项目质量的趋势情况如下图所示分别展示代码复杂度,单元测试覆盖率,及findbugs结果情况的线性增长情况。FAQQ: Hudson编译正常但sonar中并没有统计到数据A:这个原

15、因是很多,下面说说最常见的2种原因解决办法,(1)单元测试没有正常运行,可以通过hudson查看系统编译日志,确认单元测试是否已经正常执行,如发现单元测试被跳过了,可以把hudson的编译命令写成mvn clean install -Dmaven.test.skip=false,不跳过单元测试执行编译。(2)sonar数据收集异常,若通过hudson查看系统编译日志,发现单元测试已经正常执行,但是在调用sonar时发生错误;可以尝试远程登录到hudson服务器,进入项目代码文件夹,通过命令mvn clean install -Dmaven.test.skip=false Dautoconfig

16、.skip=true sonar:sonar手工编译项目,编译成功后检查数据是否正常统计到sonar中。目前存在需要先手工编译1次,才能正常采用hudson编译统计结果的问题。三、 项目工程部署 1、新建一个job:(构建具体项目的任务)这时,需要为新的构建任务指定一个名称。(这里输入的任务名称为:maven-introduce)这里有几种的任务类型可供您选择,鉴于初步介绍,先选择Build a free-style software project ,这个更加普遍化,可以更灵活的配置,一般二房库的部署建议选择该种类型,对于其他的类型,经常使用的是Copy existing job;这主要为了

17、能在复制现有的任务基础上新建一次构建任务。如果是maven部署方式的应用可以选择build a maven2 product工程。点击OK按钮,进入下一界面。如下图:此图中有很多构建任务的设置,具体介绍如下:Project name 是要运行的项目名称。Description是一个自由项,主要用来说明你关于这次构建工作的描述。可不填。Discard old builds是控制着您想要在Hudson所在的磁盘把构建记录存储的有效期 (诸如控制台输出、编译产成品等等)。Hudson为此提供了两个标准:1。时间驱动。在Hudson中您可以判断如果达到一定时限来删除一条记录(例 如,七天前)。2。数量

18、驱动。在Hudson中您可以确保它拥有N份构建。如果又有新的构建开始,最早的那份(记录)就将被删除。Hudson也可以让您 建立的个别构建定义为永远保持这个记录,以便防止某些重要的构建被自动丢弃。)这里输入的是5,也就是hudson确保5份构建。Disable build : 如果这里被勾选,这项工作将不会执行构建,直到选项禁用为止。 Source code management : 在默认情况下是这三个选项:Subversion,CVS,None如果您安装了一个与SCM相关的插件,并重新启动Hudson,那么在这个清单上也将出现一些新的选择。Ps:以上五点中除了第一点之外,其他都是可选择项,

19、一般没有特殊需求不做勾选。Build Triggers下包含下列三个选项Build after other projects are built : 此选项支持一条装配(流水作业)线作业依赖: 一个作业依赖于另一个作业的输出的情况 就是可以支持连续编译多个任务,设置这个选项后,在其他任务编译之后,可以立即自动启动这个任务,例如,我们通常在项目中会有二房库的部署,我们设置,先部署二房库,然后在编译我们的应用,使得依赖于二房库的应用能够正常编译成功。 Poll SCM : 这是CI 系统中常见的选项。当您选择此选项,您可以指定一个定时作业表达式来定义Hudson每隔多久检查一下您源代码仓库的变化。

20、如果发现变化,就执行一次构 建。例如,表达式中填写0,15,30,45 * * * *将使Hudson每隔15分钟就检查一次您源码仓库的变化。关于这个表达式的定义可参考网址: Build periodically : 此选项 (也是使用定时作业表达式)仅仅通知Hudson按指定的频率对项目进行构建,而不管SCM是否有变化。如果想在这个作业中运行一些测试用例的话,它就很有帮助。 Add build step : 按一下这个按钮,添加了一项指令以执行构建脚本。您的指令可以是下列之一:执行Shell 执行Windows批处理 使用Ant使用Maven如下图:选择使用maven。选择使用maven后,

21、在下图中可以填入mvn的配置文件,以及编译命令。Publish javadoc : 如果构建脚本能生成JavaDoc,此选项将指示Hudson发布这些内容,而且立即把它公布在当前工作的主页上。每一个成功构建的文档内容都可以保 留,但在默认情况下只保留最新的。 Publish JUnit test result report : 如果构建脚本执行了JUnit测试,此选项将指示Hudson处理XML测试文档并为每次连续构建产生一份可持续的报告,依据正在进行的测试汇总处理 结果。其结果是当前工作主页的一份报告,作业中的单元测试会随着时间的推移按由老至新进行陈列。 Build other projec

22、ts : 较之前面的选项,这个选项主要用来实现一个合乎逻辑的构建和测试过程,它会被分为两个或两个以上的物理工作,并且会按顺序执行。当此项被选择后,您将得到 一个字段,可以在其中输入您想在当前作业中后执行的其它作业名多项作业可用逗号分隔。即使目前的作业得出结论说构建可能不稳定,您也可以选择这样 做。(关于“作业的稳定性”请查阅“作业状态”章节以获取更多信息) E-mail notification : 当您选择此选项,您可以输入一个或多个电子邮件地址多个可用空格分隔,当Hudson完成了执行作业后,将会给它们发送通知。事件触发时将产生一份 Email,包括构建失败、构建不稳定等。 点击save按

23、钮,保存该任务的配置。然后在左侧菜单选择主页,在主页中右侧显示的是所有新建的job任务。如下图:在该列表中可以看到任务名称,上次运行成功的时间和第几次运行,比如第一行上次成功中的19min(#21)就表示19分钟前运行了第21次,并且成功。上次失败类似。N/A表示还没有成功或者失败运行过。上次持续时间表示运行所花费的事件。点击后面的图标便可以再次开始运行任务。四、 主要插件介绍1、 贸易通配置添加安装旺旺插件到hudson平台,可以通过直接拷贝wangwang.hpi文件即可到/home/hudson/.hudson/plugins目录下,然后重启hudson即可。2、 用户访问权限配置1)首

24、先进入系统配置屏幕(http:/server/hudson/configure主页-Manage Hudson-Configure System),并选择Enable security 。 2)选择Hudsons own user database作为安全域。注:因为我使用的是Tomcat管理hudson,所以在TCP port for JNLP slave agents选项中选择“Disable”。 3) 选择Matrix-based security作为授权机制。 4) 赋予anonymous 用户读取权限。 5) 在表格下面的文本框中输入您的用户名(稍后即创建),然后点击add。 6)

25、赋予您的用户名全部的权限以便检验。 7)滚动到屏幕最下方,点击 save 。 该配置跟如下图片类似: 至此,您将被跳回到Hudson首页,hudson也已成功安全化。现在您需要为自己再创建一个账户。 7) 点击页面右上方部分的Log in 链接。 8) 选择 create an account。 9)使用您在上面步骤填写过的用户名(注:必须完全一致),并填充完其它信息。 如果一切运行顺利的话,您以现在的身份登录就可以拥有Hudson完全的权限了。如果出现问题,请下面的方式重置安全设置。3、 hudson插件介绍:由Hudson类库现有的Hudson功能性扩展和开发者们为Hudson提供的新功能

26、都可以称之为Hudson插件。有些插件 可以无缝添加到您的构建过程,然而其它,诸如除CVS和Subversion的SCM插件则需要实现与源代码控制系统的支持,从而有必要使用Hudson 完成您的安装。 目前有许多可用的插件总的来说有如下类别:SCM: 除CVS和Subversion外需要实现与源代码控制系统支持的插件。 Triggers: 事件监听并触发构建的插件。例如,URL改变触发器将监控一个URL;当地址内容发生改变,这个触发器就将执行一次作业。Build tools: 实现额外构建工具的插件,如MSBuild和Rake。如果您想在Hudson中构建非Java的软件时这些就特别有用。Bu

27、ild wrappers: 通常涉及时执行在受控制的构建过程本身之前和之后事件的插件。例如, VMware插件将在构建之前启动一个客户虚拟机,建立和然后在构建完成后关闭它。这在您可能需要访问VM以执行单元测试的情况下是非常有用的。Build notifiers: 这些插件是做为作业事件发布通知的替代方式-通过Twitter 、IRC、谷歌日历活动等等。Slave launchers and controllers: 这是Hudson中一个非常强大的功能,本文中没有解释从机Hudson实例扮演主机Hudson实例工作。目前在这个类别中只有一个插件:SSH从机插 件,它允许从属来管理超过一个SSH

28、的链接。Build reports: 这一系列插件主要是在用您的源代码或者构件进行一些分析的基础上创建有用的报表。例如,Cobertura 插件总是通过您的构建脚本增量统计覆盖率。External site integrations: 以协助Hudson整合与其他应用程序的插件,如Jira或Bugzilla 。Artifact uploaders: 以协助您把构件发布到一些网络终端的插件,如版本库或一个FTP服务器。Page decorators: 为Hudson网页增加一些美化或者有用的装饰物,比如在Hudson中增加谷歌跟踪服务以跟踪其所有网页的谷歌分析插件。Hudson 插件管理器允许您

29、安装新的插件,和更新您Hudson服务器上的插件。管理者将连接到联机资料库,检索可用的和已更新的插件。如果您的Hudson服务器 无法直接连接到外部资源,您可以从Hudson网站上下载。在已运行的hudson主页中,点击左侧的系统管理管理插件进入如下界面:它包含四个标签:Updates: 清单中列示了Hudson为某些插件搜索到了可用的更新。列出的每个插件可以被选择并应用更新。Available: 清单中列示了可用于安装(而不是目前已安装的)的所有插件 。列出的每个插件都可以被选择并安装。Install: 清单中列示了已经安装的插件。Advanced: 允许您通过设定HTTP代理的方式使Hudson与在线插件库建立连接。此外,还提供了一个上传设备,可以安装你在Hudson以外已下载的那些插件。由上图可知,hudson缺省集成了maven2插件,并且一旦插件有新版本,会提示更新新版本插件。如果想安装新的插件,可以点击tab分页中的Available。如下图:从图可知,各种hudson插件根据之前所记述的类型进行分门别类。可勾选任意想安装的hudson插件,点击ok按钮进

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1