标签:
14 Maven-监视任务、用户管理、工作目录
13 Maven-创建Hudson任务
12.1 持续集成的作用、过程和优势
简单的说,持续集成就是快速且高频率地自动构件项目的所有源码,并为项目成员提供丰富的反馈信息。
--快速:集成的速度要尽可能的快,开发人员不希望自己的代码提交半天后才得到反馈。
--高频率:频率越高越好,例如每隔一个小时就是个不错的选择,这样问题才能今早的反映出来。
--自动:持续集成应该是自动触发并执行的,不应该有手工参与。
--构件:包括编译、测试、审查、打包、部署等工作。
--所有代码:所有团队成员提交到代码库里面的最新的源代码。
--反馈:持续集成应该通过各种快捷的方式告诉团队成员最新的集成状态,当集成失败的时候,反馈包括应该尽可能地反映失败的具体细节。
一次完整的集成往往包括以下6个步骤:
1)持续编译:所有正式的源代码都应该提交到源码控制系统中(如Subversion),持续集成服务器按一定频率检查源码控制系统,如果有新的代码,就触发一次集成,旧的已编译的字节码应当全部清除,然后服务器编译所有的最新的源码。
2)持续数据库集成:持续集成也应该包括数据库的集成,每次发现新的SQL脚本,就应该清理集成环境的数据库,重新构建表结构,并填入预备的数据。这样就能随时发现脚本的错误,此外,基于这些脚本的测试环境还能进一步发现其他的相关的问题。
3)持续测试:有了JUnit之类的框架,自动化测试就成了可能。编写优良的单元测试并不容易,好的单元测试必须是自动化的、可重复执行的、不依赖于环境的,并且能够自我检查的。除了单元测试,有些项目还会包含一些依赖外部环境的集成测试。所有这些测试都应该在每次集成的时候运行,并且发生问题的时候产生具体报告。
4)持续审查:诸如Checkstyle和PMD之类的工具能够帮我们发现代码中的坏味道(Bad Smell),持续集成可以使用这些工具来生成各类报告、Checkstyle报告和PMD报告等。这些报告的生成频率可以低一些,如每日生成一次,当审查发现问题的时候,可以给开发人员反馈警告信息。
5)持续部署:有些错误只有在部署之后才能被发现,他们往往是具体容器或者环境相关的,自动化部署能够帮助我们尽快发现这类问题。
6)持续反馈:持续集成的最后一步的反馈,通常是一封电子邮件。在重要的时候将争取的信息发送给正确的人。如果开发者一直收到与自己无关的持续集成报告,他慢慢地就会忽略这些报告。基本的规则就是:将集成失败报告发送给这次集成相关的代码提交者,项目经理应该收到所有的失败报告。持续集成需要引入额外的硬件设置,特别是对于持续集成服务器来说,性能越高,集成的速度就越快,反馈的速度也就越快。持续集成还要求开发者使用各种工具,如源码控制工具,自动化构建工具,自动化测试工具,持续集成软件等。这一切无疑增加了开发人员的负担,然而学习并适应这些工具及流程是完全值得的,因为持续集成有着很多的好处:
--尽早的暴露问题
--减少重复操作
--简化项目发布
--建立团队信心
12.2 Hudson简介
优秀的持续集成工具有很多,如老牌的开源工具CruiseControl、商业的Bamboo和TeamCity等。Hudson是目前最流行的开源持续集成工具。该项目过去一直托管在java.net社区,现在迁移到http://hudson-ci.org/。Hudson主要有Kohsuke Kawaguchi开发和维护的。
12.3 安装Hudson
安装Hudson是十分简单的。需要注意的是,Hudson必须运行在JRE 1.5或者更高的版本上。可以在 http:hudson-ci.org/下载最新版本的安装包。如图:
最简单的启动Hudson的方式就是在命令行直接运行hudson.war:
$ java -jar hudson.war
Hudson的启动日志直接输出道命令行,待启动完成之后,用户就可以打开浏览器输入地址
http://localhost:8080/ 访问hudson的界面了:
图3
要停止Hudson,可以在命令行按下Ctrl+c
备注:
(1)默认情况下Hudson会在端口8080下运行,这可能会与用户已有的web应用相冲突。这时,用户可以使用
--httpPort选项指定Hudson的运行端口
$ java -jar hudson.war - -httpPort=8082
(2)既然他是一个war文件,hudson自然也就可以被部署到各种web容器中,如tomcat。(第一次进来的时候它会提示你装一些插件来更好的玩转Hudson,建议把核心和推荐的部分安装一下,如果都不装的话,在最底下有个finish按钮,点击就能进入图3了)
12.4 安装 Subversion
相信这个工具大家肯定都安装过了,这里就不再赘述了。如果不会的,自个百度一下就行了。
12.5 Hudson的基本系统设置
在创建Hudson持续集成任务之前,用户需要对Hudson系统做一些基本的配置,包括JDK安装位置和Maven安装等在内的重要信息都必须首先配置正确。Hudson会使用这些配置好的JDK及Maven进行持续集成任务。如果要使用Ant或者Shell来持续集成项目,Ant货Shell的安装位置也应该预先设置正确。
在左边菜单栏中有个“系统管理”,然后单击在右侧中找到“系统设置”进入系统设置页面
1:在这里首先配置好JDK和Maven,找到在本地安装的目录即可(把自动安装勾去掉)。如果你没下载的话,也可以在这里下载(把自动安装按钮勾上)
2:JDK的目录就是你在环境变量中配置的 JAVA_HOME变量的值,Maoven的就是你环境变量中 MAVEN_OPTS变量的值。
3:最后单击页面下方的Save按钮保存系统设置。
12 Maven-使用Hudson进行持续集成及系统配置
标签:
原文地址:http://blog.csdn.net/u011077966/article/details/51324124