- 浏览: 824794 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (488)
- struts1 (4)
- spring (13)
- extjs (36)
- mysql (3)
- sqlserver (2)
- oracle (37)
- 杂谈 (11)
- 面试相关 (35)
- Java基础知识总结 (5)
- Java重要知识点 线程和io流知识点 (6)
- 服务器相关 (1)
- 生活 (1)
- jsp (7)
- servlet (2)
- junit (3)
- struts2 (9)
- 开发必备 (4)
- 使用开发工具总结的知识 (4)
- ibatis (12)
- ajax (2)
- dwr (2)
- jquery (1)
- 设计模式 (4)
- Lucene的学习 (5)
- 经验总结 (19)
- mysql全文搜索相关 (7)
- hibernate (33)
- Sphinx (1)
- log4j的总结 (1)
- 敏捷开发 (9)
- 持续集成 (15)
- UML使用总结 (1)
- Scrum (1)
- OO(面向对象编程) (1)
- struts1和struts2总结 (1)
- 数据库加密 (1)
- 多线程和Socket编程 (6)
- PowerDesigner (2)
- 权限相关 (1)
- ant应用总结 (4)
- 面试必知知识点总结 (6)
- io流与nio流总结 面试相关 (1)
- 敏捷管理工具的使用 (7)
- hsqldb相关 (1)
- svn源码相关 (2)
- debug调试技巧总结 (1)
- hibernate和ibatis对比相关 (6)
- eclipse mylyn 插件的使用总结 (2)
- fisheye使用总结 (2)
- java泛型总结 (1)
- ssh整合总结 (10)
- SpringSide的学习总结 (1)
- JPA学习总结 (2)
- RoR 总结 (2)
- 模型驱动 总结 (1)
- Oracle SQL优化技巧 (4)
- 数据库相关资料 (1)
- oracle练习相关 (4)
- PowerDesigner 使用总结 (2)
- Struts实现国际化相关 (2)
- 权限框架 Spring Security (1)
- freemarker使用总结 (1)
- jsp servlet总结相关 (3)
- Java NIO总结 (1)
- 自己学习必须 (3)
- 蝴蝶容器相关 (2)
- eclipse插件的使用 (1)
- myeclipse的使用 (1)
- flex相关 (1)
- javaeye重生后总结的知识点 (2)
- 公司学习总结 (3)
- JAXB 相关 (1)
- ECSide (1)
- EdoJs 企业ajax框架 (1)
- RSA加密算法 (1)
- jbpm相关 (1)
- JMF原理 (1)
- MyEclipse使用总结 (1)
- Funsion Charts 相关总结 (3)
- 常用知识2011 (2)
- Flex与Java整合 (1)
- IBM WebSphere相关 (1)
- jQuery使用技巧 (2)
- 2011年面试相关知识点总结 (2)
- sqlserver开发相关 (8)
- eclipse 打jar相关 (2)
- Oracle/Mysql/SqlServer比较 (1)
- WebService Axis1.4开发相关 (4)
- 进制数的转换 总结 (1)
- WebService Axis2.0开发相关 (0)
- iteye Struts2 Spring Hibernate整合相关 (3)
- iteye osgi资料相关总结 (1)
- iteye ifos相关相关 (1)
- iteye 国际化相关 (1)
- iteye Hibernate缓存机制 (4)
- iteye Struts2 总结 (1)
- iteye Struts标签总结 (0)
- iteye web配置文件大全 (6)
- iteye Efs 框架总结 (1)
- iteye sql优化 (2)
- iteye 大数据量高并发的数据库优化 (1)
- iteye 开发相关 (1)
- iteye s1sh 和 s2sh整合中的问题以及解决 (1)
- iteye s1sh整合实例 (1)
- iteye s2sh整合实例 (1)
- iteye 面试相关 基础篇 (1)
- iteye Android相关 (1)
- iteye 面试相关 Web篇 (1)
- iteye Sql Server相关 (0)
- iteye struts1与struts2比较 (1)
- iteye jquery 和Struts2 (0)
- iteye struts2与其他插件整合 (0)
- iteye jquery 开发相关 (1)
- iteye eclipse结合spket(Ext,Jquery)开发相关 (0)
- iteye myeclipse 使用技巧相关 (0)
- iteye Memcached 缓存系统相关 (0)
- iteye 常用软件相关 (0)
- iteye 最新技术预览 AjaxSwing (0)
- iteye struts上传下载相关 (0)
- iteye 新技术相关 (0)
- test (0)
- iteye 开发Java游戏相关 (0)
- iteye Java反编译 (0)
- iteye XML解析相关 (0)
- iteye 压缩ZIP相关 (0)
- iteye 面试相关 (0)
- iteye Android开发相关 (4)
- csdn (0)
- e-inoc (0)
- iteye http错误码对应说明 (0)
- iteye 面试扩展知识点 (0)
- iteye oracle面试相关 存储过程,触发器,游标等 (0)
- iteye english study (0)
- iteye starflow工作流引擎 (0)
- iteye IBM WebSphere Application Server Toolkit使用相关 (0)
- iteye spring3 (0)
- iteye mybatis (0)
- iteye js技巧总结 (0)
- iteye SEO优化相关 (2)
- iteye QUI网页界面集成框架 (1)
- iteye AjaxAnywhere (1)
- iteye Nutz相关 (1)
- iteye ibatis技巧 (0)
- iteye dwz (0)
- 128个ajax/javascript框架 (0)
- iteye 2012 Java Swing教程 (1)
- iteye 码头集装箱相关 (1)
- iteye swing (2)
- 兼职工作 (0)
- 2012 新总结的面试相关知识点 常用知识点 (1)
- 淘宝网店相关 (0)
- oracle 常用函数 2012新总结 (1)
- 我的时尚潮流屋 (0)
- 2012 年 面试新总结知识 (1)
- 技巧 (1)
- 2013总结 (1)
- 2015工作相关 (3)
- springmvc (5)
- EasyPR-Java (1)
- java (2)
- editplus 4.0 注册码 (1)
- android (1)
- oracle连接数据库相关 (1)
- 编程资料总结 (2)
- 20160808 (1)
- visio 2013 (1)
最新评论
-
drew926:
泛型的类型参数可以有多个?这是java哪个版本支持的?
java泛型总结 -
listenan:
赞!非常感谢。
Scrum总结 -
cwscwj:
写的很深刻,谢谢,看了一遍,过段时间打算再看一遍。
Scrum总结 -
hwedwin:
w
Struts 2中的OGNL\EL的使用总结 -
lanni2460:
不错 很好 支持……
sqlserver三个驱动包下载
自己两个多星期以来对持续集成的概念和应用有了一些了解。下面主要对自己配置持续集成的环境进行总结。(看上去简单,但是对我开始对持续集成都没什么了解的人来说确实费了不少周折)
一 本次持续集成环境的搭建所使用的工具有
cruisecontrol、ant、svn、junit、Slik-Subversion-1.5.6-win32、svnant-1.1.0-RC2.zip
cruisecontrol:是一种持续集成过程的框架,包括了邮件通知,ant 和各种源码控 制工具的插 件。并提供了web接口,用于查看当前和以前的创建的结果.
ant:构建工具。
svn:版本控制工具。
junit:单元测试工具。
slik-subversion:是为了调用svn的客户端命令安装的。
svnant:主要是用到它里面的lib中的jar包,它具体使用还不是很清楚
另外本次的辅助环境还有jdk,相信大家都再也熟悉不过了。
二 环境的搭建步骤:
jdk的安装:根据jdk安装包的提示安装jdk。设置系统的环境变量:
a) JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat都需要依赖此变量);
b) Path使得系统可以在任何路径下识别java命令,设为%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
c)CLASSPATH为java加载类(class or lib)路径,只有类在 classpath中,java命令才能识别,设为:.;JAVA_HOME\lib\dt.jar;JAVA_HOME% \lib\tools.jar (要加.表示当前路径);%JAVA_HOME%就是引用前面指定的JAVA_HOME;不过本人还是比较相信绝对路径的。
2 ant的安装:ant是集成构建工具,想必大家都不太陌生了。只需要到ant.apache.org的网站下载ant的适当版本解压缩后,配置系统的环境变量:ANT_HOME:d:\apache-ant-1.7.0, path:d:\apache-ant-1.7.0\bin 后,ant就可以在任意目录下运行了,如cmd下运行ant,显示:buildfile:build.xml does not exsit。。。。。
3 安装svn,因为cruisecontrol要用到svn(不知道这两个有什么先后顺序没,因为cc要用svn就先装cc喽)。svn的安装TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi安装提示装就可以了。
4 安装tomcat ,设置系统环境变量CATALINA_HOME=c:\tomcat,CLASSPATH=C:\tomcat\common\lib(加载必要的包)。
5 cuisecontrol的安装,因为本文使用的操作系统为XP,就使用CruiseControl-2.8.2.exe安装就可以了(.exe文件还是很受大家喜欢的)。配置系统的环境变量:CC_HOME=d:\cruisecontrol
6 安装slik-subversion,它会自动写入到path=D:\SlikSvn\bin\ 如果没有写入的话,要麻烦手动加入到系统的环境变量path中,本人曾经遇到过,cmd窗口已经打开但是配置文件执行过程中svn的命令总不能识别发现此处的路径没有加入到path中。
7下载svnant-1.1.0-RC2.zip,把lib包中的jar考到ant的jar中。
三 以上的准备工作已经基本搞定,下面就介绍一下配置文件。此次环境的搭建配置文件是很关键的,因为他们各自有自己的标签,所以还要想达到什么功能慢慢查找,(如果有时间系统学习一下就好了)。
1 ant的关键文件为build.xml(当然也可以起别的名称,自己还要改它的启动文件,就用这个名称吧)下面是一个实例:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
定义basedir当前的根目录,default默认执行的标签,name工程名
<project basedir="." default="all" name="framework">
<property environment="env" />
定义tomcat的安装目录
<property name="TOMCAT_DIR" location="D:/Tomcat 5.5" />
定义debug的级别
<property name="debuglevel" alue="source,lines,vars" />
为了引用tomcat固有包方便所以增加次属性
<property name="coolink.dist.path" location="D:/Tomcat 5.5/webapps/txsd/WEB-INF" />
指定要编译的工程目录
<property name="CLASS_DIR" location="D:/CruiseControl/projects/framework" />
<property name="target" value="1.5" />
<property name="source" value="1.5" />
编译时候所使用的类路径,id为引用的名称
<path id="Apache Tomcat v5.5 [Apache Tomcat v5.5].libraryclasspath">
<pathelement location="${TOMCAT_DIR}/common/lib/commons-el.jar" />
....
<pathelement location="${TOMCAT_DIR}/common/lib/servlet-api.jar" />
</path>
<path id="Web App Libraries.libraryclasspath">
<pathelement location="${coolink.dist.path}/lib/activation.jar" />
.............
<pathelement location="${coolink.dist.path}/lib/xmlParserAPIs.jar" />
</path>
<path id="ant.svn.classpath">
<fileset dir="D:/CruiseControl/apache-ant-1.7.0/lib">
<include name="*.jar" />
</fileset>
</path>
<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask">
<classpath refid="ant.svn.classpath" />
</taskdef>
<path id="txsd.classpath">
<path refid="Apache Tomcat v5.5 [Apache Tomcat v5.5].libraryclasspath" />
<path refid="Web App Libraries.libraryclasspath" />
</path>
clean操作,如果build之前不执行此操作,build检查到原有的class文件就不再编译。
<target name="clean">
<delete file="${CLASS_DIR}/longcon-framework.jar" />
<delete dir="target" quiet="true" />
<delete dir="${CLASS_DIR}/source/classes" />
</target>
要build模块的名称build-framework看来可以随便起名字,但是有人说必须和模块名称一致,至今还不知道为什么
<target name="build-framework">
<echo message="${ant.project.name}: ${ant.file}" />
<mkdir dir="${CLASS_DIR}/source/classes" />
<copy includeemptydirs="false" todir="source/classes">
<fileset dir="${CLASS_DIR}/source" excludes="**/*.launch, **/*.java" />
</copy>
<javac debug="true" debuglevel="${debuglevel}" destdir="${CLASS_DIR}/source/classes" source="${source}" target="${target}" encoding="UTF-8">
<src path="${CLASS_DIR}/source" />
<exclude name="**/.svn/**" />
<classpath refid="txsd.classpath" />
</javac>
</target>
单元测试的部分
<target name="test">
<mkdir dir="target/test-classes" />
<javac encoding="UTF-8" srcdir="${CLASS_DIR}/test" destdir="target/test-classes">
<classpath>
<pathelement location="${CLASS_DIR}/source/classes" />
<path refid="Apache Tomcat v5.5 [Apache Tomcat v5.5].libraryclasspath" />
<path refid="Web App Libraries.libraryclasspath" />
</classpath>
</javac>
<mkdir dir="target/test-results" />
<junit haltonfailure="no" printsummary="on">
<classpath>
<pathelement location="${CLASS_DIR}/source/classes" />
<pathelement location="${coolink.dist.path}/lib/junit.jar" />
<pathelement location="target/test-classes" />
</classpath>
<formatter type="brief" usefile="false" />
<formatter type="xml" />
<batchtest todir="target/test-results">
<fileset dir="target/test-classes" includes="**/*.class" />
</batchtest>
</junit>
</target>
打包放到指定目录
<target name="jar">
<jar destfile="${CLASS_DIR}/longcon-framework.jar" encoding="UTF-8" update="false" excludes="**/*Test*.class">
<fileset dir="${CLASS_DIR}/source/classes" />
</jar>
<copy includeemptydirs="false" todir="${coolink.dist.path}/lib">
<fileset file="${CLASS_DIR}/longcon-framework.jar" excludes="**/*.launch, **/*.java" />
</copy>
</target>
调用svn命令,这与三中的步骤7有密切的联系
<target name="commit">
<svn username="aaa" password="aaa">
<commit file="${coolink.dist.path}/lib/longcon-framework.jar" message="${msg.commit}" />
</svn>
</target>
<target name="all" depends="clean,build-framework,jar,commit"/>
</project>
注释:
a设置编译所需要的类路径可以用: <classpath>
<pathelement path="${classpath}"/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
<pathelement location="classes"/>
<dirset dir="build">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</dirset>
<filelist refid="third-party_jars"/>
</classpath>
b <target name="test" depends="clean">depends表示依赖关系
2 cruisecontrol的config文件,CC启动的时候会自动寻找此文件,当然你可以通过修改启动文件修改config.xml名称,只要两处一致就能找到,下面是一个config文件的实例:
<cruisecontrol>//cc的固有标签,cc中可以有多个project
<project name="framework">// 工程名称
<plugin name="labelincrementer" classname="net.sourceforge.cruisecontrol.labelincrementers.SVNLabelIncrementer"/>
<labelincrementer workingcopypath="projects/${project.name}"/> // 显示svn的版本号
listeners:监听器,来报告cc的此项目的运行信息
<listeners>
<currentbuildstatuslistener file="logs/${project.name}/status.txt" />
</listeners>
bootstrappers从svn源码控制程序更新本地版本,据说还有向其它插件提供当前创建的状态
<bootstrappers>
<svnbootstrapper localWorkingCopy="projects/${project.name}" username="luojing" password="luojing" />
</bootstrappers>
<bootstrappers>//向ant提供当前信息
<antbootstrapper anthome="apache-ant-1.7.0" buildfile="projects/${project.name}/build.xml" target="jar" />
</bootstrappers>
<modificationset quietperiod="30">// 通过svn更新原代码
<!-- touch any file in connectfour project to trigger a build -->
<svn localWorkingCopy="projects/${project.name}" username="luojing" password="luojing" />
</modificationset>cruisecontrol、ant、svn持续集成
一 本次持续集成环境的搭建所使用的工具有
cruisecontrol、ant、svn、junit、Slik-Subversion-1.5.6-win32、svnant-1.1.0-RC2.zip
cruisecontrol:是一种持续集成过程的框架,包括了邮件通知,ant 和各种源码控 制工具的插 件。并提供了web接口,用于查看当前和以前的创建的结果.
ant:构建工具。
svn:版本控制工具。
junit:单元测试工具。
slik-subversion:是为了调用svn的客户端命令安装的。
svnant:主要是用到它里面的lib中的jar包,它具体使用还不是很清楚
另外本次的辅助环境还有jdk,相信大家都再也熟悉不过了。
二 环境的搭建步骤:
jdk的安装:根据jdk安装包的提示安装jdk。设置系统的环境变量:
a) JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat都需要依赖此变量);
b) Path使得系统可以在任何路径下识别java命令,设为%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
c)CLASSPATH为java加载类(class or lib)路径,只有类在 classpath中,java命令才能识别,设为:.;JAVA_HOME\lib\dt.jar;JAVA_HOME% \lib\tools.jar (要加.表示当前路径);%JAVA_HOME%就是引用前面指定的JAVA_HOME;不过本人还是比较相信绝对路径的。
2 ant的安装:ant是集成构建工具,想必大家都不太陌生了。只需要到ant.apache.org的网站下载ant的适当版本解压缩后,配置系统的环境变量:ANT_HOME:d:\apache-ant-1.7.0, path:d:\apache-ant-1.7.0\bin 后,ant就可以在任意目录下运行了,如cmd下运行ant,显示:buildfile:build.xml does not exsit。。。。。
3 安装svn,因为cruisecontrol要用到svn(不知道这两个有什么先后顺序没,因为cc要用svn就先装cc喽)。svn的安装TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi安装提示装就可以了。
4 安装tomcat ,设置系统环境变量CATALINA_HOME=c:\tomcat,CLASSPATH=C:\tomcat\common\lib(加载必要的包)。
5 cuisecontrol的安装,因为本文使用的操作系统为XP,就使用CruiseControl-2.8.2.exe安装就可以了(.exe文件还是很受大家喜欢的)。配置系统的环境变量:CC_HOME=d:\cruisecontrol
6 安装slik-subversion,它会自动写入到path=D:\SlikSvn\bin\ 如果没有写入的话,要麻烦手动加入到系统的环境变量path中,本人曾经遇到过,cmd窗口已经打开但是配置文件执行过程中svn的命令总不能识别发现此处的路径没有加入到path中。
7下载svnant-1.1.0-RC2.zip,把lib包中的jar考到ant的jar中。
三 以上的准备工作已经基本搞定,下面就介绍一下配置文件。此次环境的搭建配置文件是很关键的,因为他们各自有自己的标签,所以还要想达到什么功能慢慢查找,(如果有时间系统学习一下就好了)。
1 ant的关键文件为build.xml(当然也可以起别的名称,自己还要改它的启动文件,就用这个名称吧)下面是一个实例:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
定义basedir当前的根目录,default默认执行的标签,name工程名
<project basedir="." default="all" name="framework">
<property environment="env" />
定义tomcat的安装目录
<property name="TOMCAT_DIR" location="D:/Tomcat 5.5" />
定义debug的级别
<property name="debuglevel" alue="source,lines,vars" />
为了引用tomcat固有包方便所以增加次属性
<property name="coolink.dist.path" location="D:/Tomcat 5.5/webapps/txsd/WEB-INF" />
指定要编译的工程目录
<property name="CLASS_DIR" location="D:/CruiseControl/projects/framework" />
<property name="target" value="1.5" />
<property name="source" value="1.5" />
编译时候所使用的类路径,id为引用的名称
<path id="Apache Tomcat v5.5 [Apache Tomcat v5.5].libraryclasspath">
<pathelement location="${TOMCAT_DIR}/common/lib/commons-el.jar" />
....
<pathelement location="${TOMCAT_DIR}/common/lib/servlet-api.jar" />
</path>
<path id="Web App Libraries.libraryclasspath">
<pathelement location="${coolink.dist.path}/lib/activation.jar" />
.............
<pathelement location="${coolink.dist.path}/lib/xmlParserAPIs.jar" />
</path>
<path id="ant.svn.classpath">
<fileset dir="D:/CruiseControl/apache-ant-1.7.0/lib">
<include name="*.jar" />
</fileset>
</path>
<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask">
<classpath refid="ant.svn.classpath" />
</taskdef>
<path id="txsd.classpath">
<path refid="Apache Tomcat v5.5 [Apache Tomcat v5.5].libraryclasspath" />
<path refid="Web App Libraries.libraryclasspath" />
</path>
clean操作,如果build之前不执行此操作,build检查到原有的class文件就不再编译。
<target name="clean">
<delete file="${CLASS_DIR}/longcon-framework.jar" />
<delete dir="target" quiet="true" />
<delete dir="${CLASS_DIR}/source/classes" />
</target>
要build模块的名称build-framework看来可以随便起名字,但是有人说必须和模块名称一致,至今还不知道为什么
<target name="build-framework">
<echo message="${ant.project.name}: ${ant.file}" />
<mkdir dir="${CLASS_DIR}/source/classes" />
<copy includeemptydirs="false" todir="source/classes">
<fileset dir="${CLASS_DIR}/source" excludes="**/*.launch, **/*.java" />
</copy>
<javac debug="true" debuglevel="${debuglevel}" destdir="${CLASS_DIR}/source/classes" source="${source}" target="${target}" encoding="UTF-8">
<src path="${CLASS_DIR}/source" />
<exclude name="**/.svn/**" />
<classpath refid="txsd.classpath" />
</javac>
</target>
单元测试的部分
<target name="test">
<mkdir dir="target/test-classes" />
<javac encoding="UTF-8" srcdir="${CLASS_DIR}/test" destdir="target/test-classes">
<classpath>
<pathelement location="${CLASS_DIR}/source/classes" />
<path refid="Apache Tomcat v5.5 [Apache Tomcat v5.5].libraryclasspath" />
<path refid="Web App Libraries.libraryclasspath" />
</classpath>
</javac>
<mkdir dir="target/test-results" />
<junit haltonfailure="no" printsummary="on">
<classpath>
<pathelement location="${CLASS_DIR}/source/classes" />
<pathelement location="${coolink.dist.path}/lib/junit.jar" />
<pathelement location="target/test-classes" />
</classpath>
<formatter type="brief" usefile="false" />
<formatter type="xml" />
<batchtest todir="target/test-results">
<fileset dir="target/test-classes" includes="**/*.class" />
</batchtest>
</junit>
</target>
打包放到指定目录
<target name="jar">
<jar destfile="${CLASS_DIR}/longcon-framework.jar" encoding="UTF-8" update="false" excludes="**/*Test*.class">
<fileset dir="${CLASS_DIR}/source/classes" />
</jar>
<copy includeemptydirs="false" todir="${coolink.dist.path}/lib">
<fileset file="${CLASS_DIR}/longcon-framework.jar" excludes="**/*.launch, **/*.java" />
</copy>
</target>
调用svn命令,这与三中的步骤7有密切的联系
<target name="commit">
<svn username="aaa" password="aaa">
<commit file="${coolink.dist.path}/lib/longcon-framework.jar" message="${msg.commit}" />
</svn>
</target>
<target name="all" depends="clean,build-framework,jar,commit"/>
</project>
注释:
a设置编译所需要的类路径可以用: <classpath>
<pathelement path="${classpath}"/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
<pathelement location="classes"/>
<dirset dir="build">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</dirset>
<filelist refid="third-party_jars"/>
</classpath>
b <target name="test" depends="clean">depends表示依赖关系
2 cruisecontrol的config文件,CC启动的时候会自动寻找此文件,当然你可以通过修改启动文件修改config.xml名称,只要两处一致就能找到,下面是一个config文件的实例:
<cruisecontrol>//cc的固有标签,cc中可以有多个project
<project name="framework">// 工程名称
<plugin name="labelincrementer" classname="net.sourceforge.cruisecontrol.labelincrementers.SVNLabelIncrementer"/>
<labelincrementer workingcopypath="projects/${project.name}"/> // 显示svn的版本号
listeners:监听器,来报告cc的此项目的运行信息
<listeners>
<currentbuildstatuslistener file="logs/${project.name}/status.txt" />
</listeners>
bootstrappers从svn源码控制程序更新本地版本,据说还有向其它插件提供当前创建的状态
<bootstrappers>
<svnbootstrapper localWorkingCopy="projects/${project.name}" username="luojing" password="luojing" />
</bootstrappers>
<bootstrappers>//向ant提供当前信息
<antbootstrapper anthome="apache-ant-1.7.0" buildfile="projects/${project.name}/build.xml" target="jar" />
</bootstrappers>
<modificationset quietperiod="30">// 通过svn更新原代码
<!-- touch any file in connectfour project to trigger a build -->
<svn localWorkingCopy="projects/${project.name}" username="luojing" password="luojing" />
</modificationset>cruisecontrol、ant、svn持续集成
发表评论
-
持续集成
2010-09-07 10:47 819持续集成 原文链接:http://martinfowler ... -
持续集成实践
2010-08-18 17:22 1253CC的项目配置: Xml代码 1. < ... -
通过持续集成尽早发现缺陷
2010-08-18 16:17 1141通过持续集成尽早发现缺陷 http://www.xp163. ... -
持续集成 java手册
2010-08-18 10:24 1110持续集成 java手册 一、概念 martin fowle ... -
持续集成的极好例子
2010-08-18 09:48 1258持 续集成在目前大多数的公司里都会有这样或者那样的使用。有的会 ... -
浅谈CruiseControl的部署
2010-08-18 09:45 2327浅谈CruiseControl的部署 ... -
持续集成
2010-08-17 09:53 899谈到持续集成,不如先 ... -
不进行持续集成的理由
2010-08-17 08:43 917不进行持续集成的理由 ... -
如何进行持续集成?
2010-08-17 08:41 912如何进行持续集成? 在进行持续集成实践前,应当正确的 ... -
持续集成(第二版)
2010-08-17 08:33 1089持续集成(第二版) ... -
持续集成:什么应该自动化?
2010-08-17 08:24 902持续集成:什么应该自动化? 一、什么是持续集成(Contin ... -
持续集成和Scrum相关
2010-08-16 18:56 895持续集成和Scrum相关 -
持续集成和Scrum相关
2010-08-16 17:53 756持续集成和Scrum相关 -
持续集成总结
2010-08-16 17:43 1624一、什么是持续集成( ...
相关推荐
cruisecontrol.war 文件,你可以直接将这个文件 COPY 到你的%TOMCAT_HOME%\webapps 目录下,不 过这种方式通常都会出错,前 面我们讲过CC的WEB组件要访问我们的项目build 的状态文件,而下载的 CC2.2 里面自带的 ...
CruiseControl是一种持续集成框架,提供了邮件通知、ANT和各种源码控制工具的插件,并提供了Web接口,用于查看当前和以前的build结果。CruiseControl系统的架构图中,我们可以看到,CruiseControl系统的主体是Build ...
【CruiseControl + ANT + SVN】是一个集成开发环境(IDE)自动化构建和版本控制的解决方案。这个组合在软件开发过程中发挥着关键作用,确保代码的持续集成和版本管理。下面将详细阐述这三个组件以及它们如何协同工作...
CruiseControl 是一款开源的持续集成工具,它的主要任务是在软件开发过程中,通过监控版本控制系统(如 SVN)的变化或者按照预设时间进行定期构建,以确保项目的持续集成。CruiseControl 提供了一个可视化的...
SVN+cruisecontrol 搭建持续集成开发环境 持续集成开发环境是软件开发过程中的一种实践,它能够自动地构建、测试和部署软件,提高开发效率和软件质量。SVN(Subversion)是一种版本控制系统,能够帮助开发团队管理...
**持续集成之CruiseControl.rb** CruiseControl.rb是一款开源的持续集成工具,主要用于自动化构建、测试和部署软件项目。它是由ThoughtWorks公司开发的,是CruiseControl.NET的Ruby版本,因此在Ruby社区中被广泛...
通过本文档,我们可以了解到CruiseControl和Ant在持续集成中的应用。CruiseControl作为一个强大的CI工具,可以帮助团队自动化构建流程,提高软件开发效率。而Ant作为构建工具,则负责具体的构建任务执行。两者结合...
2. **集成源代码仓库**:将CruiseControl与版本控制系统(如Git、SVN)连接,以便在代码更新时自动启动构建。 3. **构建脚本**:编写Ant或Maven脚本,定义如何编译代码、运行测试和打包应用。 4. **监控与调整**:...
CruiseControl是一款持续集成工具,它能够自动化地执行软件项目的构建、测试和部署流程,以确保代码的质量和项目的稳定性。本篇文章将详细介绍CruiseControl的基本概念、安装过程、配置方法以及一个简单的使用示例。...
CruiseControl是一款持续集成工具,它能够自动化地构建、测试和部署软件项目,极大地提高了开发效率和产品质量。在本文中,我们将深入探讨如何配置CruiseControl以实现定时运行,确保项目始终保持最新状态。 首先,...
**CruiseControl**是一种开源的持续集成工具,它提供了自动化的构建过程,支持多种构建工具如Ant和MSBuild,并且可以集成各种源代码管理工具如SVN和Git。CruiseControl通过定义构建策略和触发器来自动化构建过程,...
CruiseControl 是一个开源的持续集成工具,用于自动化软件构建、测试和部署的过程。它通过监控版本控制系统中的变更,自动触发构建任务,及时发现并解决代码集成中的问题,从而提高开发团队的效率和软件质量。本...
CruiseControl是一款持续集成工具,它能够自动化软件构建、测试和发布的过程,是开发者进行敏捷开发和持续集成的重要工具。本教程将详细讲解CruiseControl的学习与实践。 **第一章 CruiseControl实践** 1.1 Cruise...