首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 图形图象-> 相关软件
持续集成 Java手册-JSP教程,Java技巧及代码
作者:网友供稿 点击:161
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
持续集成 java手册
一、概念
martin fowler的文章:continuous integration 中文翻译:持续集成

二、工具
传统工具:visualstudio.net,visualsourcesafe,rational clearcase

自动编译工具:ant

回归测试工具:junit

代码检查工具:checkstyle

持续集成工具:cruisecontrol

三、步骤
cruisecontrol监控远程版本控制系统的变化

变化发生时cruisecontrol调用编译工具进行编译(ant等)

编译成功后调用junit进行回归测试

编译成功后调用checkstyle进行代码检查

完毕后将编译结果、测试结果、代码检查结果发送至开发人员、主管经理,并发布至网站,甚至报警器

所有这一切都是按照编制好的脚本自动进行的

四、实施示例
目前我们使用的是clearcase,主控软件为cruisecontrol,其脚本文件为cccc.xml

配置远程版本控制系统

<modificationset quietperiod="30">
<clearcase branch="main" viewpath="d:\cc_view\chelseafc\nucleus2.0\port" recursive="true" />
</modificationset>
配置编译工具

<schedule interval="30">
<ant antscript="c:\java\jbuilder2005\thirdparty\ant\bin\ant.bat" buildfile="d:\cc_view\chelseafc\nucleus2.0\port\clearcase-build.xml" target="cleanbuild" multiple="1" />
</schedule>
配置测试用例(在ant的配置文件中)

<target name="test" depends="init" description="run unit tests">
<delete dir="${junit.results}" />
<mkdir dir="${junit.results}" />
- <junit fork="yes" haltonfailure="yes">
- <classpath>
<pathelement location="${build.dir}" />
</classpath>
<formatter type="plain" usefile="false" />
<formatter type="xml" />
- <batchtest todir="${junit.results}">
<fileset dir="${build.dir}" includes="**/*test.class" />
</batchtest>
</junit>
</target>
配置报告形式
<publishers>
<currentbuildstatuspublisher file="currentbuild.txt" />
- <htmlemail mailhost="mail.chelseafc.com.cn" returnaddress="workflow_engine@chelseafc.com.cn" subjectprefix="continuousintegration:" buildresultsurl="http://chelsea:8044/cruisecontrol/buildresults" spamwhilebroken="true" xsldir="f:\software\agile.net\cruisecontrol-2.2\reporting\jsp\xsl" css="f:\software\agile.net\cruisecontrol-2.2\reporting\jsp\css\cruisecontrol.css" logdir="d:\tomcat 4.1\webapps\cruisecontrol\samplelogs">
<always address="chelsea@chelseafc.com.cn" />
<always address="ajax@chelseafc.com.cn" />
<map alias="chelsea" address="chelsea@chelseafc.com.cn" />
</htmlemail>
</publishers>
其中cruisecontrol暂时没有提供代码检查工具的支持,建议使用ant来调用checkstyle,示例如下(没有真正运行过):
<target name="web.checkstyle">
<mkdir dir="${target.temp}/checkstyle" />
<mkdir dir="${target.web}/checkstyle" />
- <taskdef resource="checkstyletask.properties">
- <classpath>
<fileset dir="${support.tools}/checkstyle31" includes="**/*.jar" />
</classpath>
</taskdef>
- <copy file="${support.tools}/checkstyle31/custom.xml" overwrite="true" tofile="${target.temp}/checkstyle/custom.xml">
- <filterset>
<filter token="source.java" value="${basedir}/${source.java}" />
<filter token="target.checkstyle" value="${basedir}/${target.temp}/checkstyle" />
</filterset>
</copy>
- <checkstyle config="${target.temp}/checkstyle/custom.xml" failonviolation="false">
<fileset dir="${source.java}/main" includes="**/*.java" />
<formatter type="plain" />
<formatter type="xml" tofile="${target.temp}/checkstyle/checkstyle_errors.xml" />
</checkstyle>
<style basedir="${target.temp}/checkstyle" destdir="${target.web}/checkstyle" includes="checkstyle_errors.xml" style="${support.tools}/checkstyle31/checkstyle-noframes.xsl" />
</target>
五、几点提示
cruisecontrol会自动根据本地clearcase的view监控远程vob
其实除了监控远程版本控制系统外其它的任务都可以由ant来完成,cc只负责监控变化并调用ant即可
可以为cruisecontrol.bat加入启动参数“-port 8055”,这样可以用jmx(http://localhost:8055)来控制cc
最好避免中文路径,否则就需要手工为几个xml格式的文件,如cc的report servlet的web.xml等加入编码方式“<?xml version="1.0" encoding="utf-8" ?> ”,或者将中文路径映射为虚拟硬盘:“subst y: "d:\cc_view\chelsea\platform\开发\nucleus2.0\source"”
中文log无法正常显示时,需要设置cruisecontrol配置文件中<log>元素的“encoding”属性,如:
<log dir="d:\tomcat 4.1\webapps\cruisecontrol\samplelogs" encoding="utf-8">
<merge dir="d:\cc_view\chelseafc\nucleus2.0\port\test-results" />
</log>
编译失败后,在下次checkin之前,一般不需要重新编译,这时可设置<project >的“buildafterfailed”属性为false来避免重新编译
<htmlemail>的几个属性好像没有缺省设置,虽然文档里说从2.1.7开始有缺省设置,包括xsldir,css,logdir
各种工具的安装、使用,在各自的文档里都非常详细,网上亦有无数资源
六、参考资料
dailybuild全攻略
draco.net
持续集成.net手册



文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·使用C#在进度条中显示复制文件的进度-.NET教程,C#语言
·JAVASCRIPT调用JAVA-JSP教程,Java技巧及代码
·Java开源项目Hibernate包作用详解-JSP教程,Java技巧及代码
·新型单相逆变电源的研制
·解读Windows 2000/XP分层驱动模型-.NET教程,Windows开发
·NET中打印包含有格式的 RichTextBox 的内容-.NET教程,Asp.Net开发
·java用于链接数据库的例子(*.properties)-JSP教程,资料/其它
·cable modem及其系统的配置和使用
·asp.net 1.1/ 2.0 中快速实现单点登陆-.NET教程,Asp.Net开发
·持续集成 Java手册-JSP教程,Java技巧及代码
最新文章
·像我一样的菜鸟站长常犯的几种错误_站长心得
·网友开博客真的能赚钱吗?_网赚技巧
·google广告代码可以放到几个网站吗?_网赚技巧
·论坛如何最佳化?adsense最佳化案例_网赚技巧
·姚劲波:站长要用开放平和的心态去坚持_站长访谈
·章征军和他的站长网_站长访谈
·建自己想建的站坚持下去 就是最好的seo_站长心得
·autocad 2008的service pack 1测试版发布_autocad教程
·网站的定位在于选题(后半部分参考市场报)_站长心得
·互联网赚钱的几种基本模式_站长心得
相关主题
  • 持续集成 .Net手册-.NET教程,VB.Net语言
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭