- 浏览: 822041 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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, Anthill, Bamboo, TeamCity, Continuum 等。CruiseControl作为开源产品,以其对于各种SCM以及构建工具的广泛支持而被许多开发团队所接受。
在一个典型的持续集成过程中:
- 开发者每次将代码提交到SVN之前,必须运行本地测试: 尽量保证不会破坏持续集成服务器的构建过程。
- 开发者每天进行多次提交:小步前进会大大减少服务器构建失败的概率,并且使得修复失败构建的时间大大缩短。
- 持续集成在一台服务器上不断运行:保证在稳定的环境中进行测试。
- 所有的测试必须全部通过:保证软件现有的功能不被破坏并且没有引入新的缺陷
- 生成构建结果(War, Jar,exe等) : 用以开展下一步的工作,譬如QA的探索测试等。
- 生成报表 :帮助管理人员评估开发状态。
- 修复失败的构建 : 失败的构建意味着软件现有的功能已经被破坏或者有新的缺陷被引入,修复的速度越慢使修复难度越高,并带来更大的损失。
持续集成坏味道:
- 持续编译
[现象]某些团队仅仅使用持续集成服务进行编译并生成最终的构建结果。
[影响]持续集成无法给开发人员,管理人员带来有价值的快速反馈。
[原因]开发团队可能缺乏编写易于测试的代码的能力,或者不了解现代软件开发中测试的流程和作用
[解决方案]测试优先,单元测试,功能测试,验收测试
- 构建长时间失败
[现象] 没有开发者愿意修复失败的构建,持续集成工具上的构建已经持续失败很长时间。
[影响] 开发者忽视持续集成服务器发布的结果,修复构建的成本和难度升高,开发团队,管理团队无法得到快速反馈,丧失安全感
[原因] 长时间不进行代码更新并一次提交太多代码,构建时间太长导致开发者缺乏耐心运行本地构建、任务过于复杂
[解决方案] 简单设计,小步前进,缩短构建时间
- 过多失败构建
[现象]持续集成服务器上有很多失败的构建、开发者常常在持续集成服务器上强制运行构建
[影响]团队其它成员无法提交代码,开发效率下降。
[原因] 通常这是项目中存在随机失败测试的信号,譬如,某些测试存在顺序依赖,时间敏感或者没有在测试结束时正确回收资源。这样,虽然开发者本地构建通过,却无法保证在持续集成服务器上成功构建,开发者会不断的尝试在服务器端重新运行构建试图得到一个成功的构建
[解决方案] 简单设计,编写正确的单元测试
- 构建时间过长
[现象]本地构建时间超过10分钟
[影响]生产率严重下降
[原因] 可能是由于重复测试引起,由于测试之间没有很好的隔离,导致同一逻辑在对不同对象进行测试时被重复测试、或者是软件规模大,测试多引起
[解决方案] 分布式构建
- 构建结果不醒目
[现象] 没有开发者意识到持续集成服务器上的构建已经失败了
[影响] 构建长时间失败,修复难度变大
[原因] 没有将构建结果明显的发布出来
[解决方案] 安装构建指示灯,或者在构建失败的时候播放音乐。
拥抱持续集成:
为了享受持续集成带来的诸多好处,开发者需要做到:
- 小步前进,频繁提交
- 不要提交本地测试失败的代码
- 编写可以自动进行的测试
- 编写可以快速运行的测试
- 如果构建失败,第一时间进行修复
- 如果构建失败,拒绝更新代码
在进行持续集成实践前,应当正确的选择并配置持续集成服务器。列出了所有的持续集成服务器 ,其中比较成熟的持续集成服务器包括:CruiseControl, Anthill, Bamboo, TeamCity, Continuum 等。CruiseControl作为开源产品,以其对于各种SCM以及构建工具的广泛支持而被许多开发团队所接受。
在一个典型的持续集成过程中:
- 开发者每次将代码提交到SVN之前,必须运行本地测试: 尽量保证不会破坏持续集成服务器的构建过程。
- 开发者每天进行多次提交:小步前进会大大减少服务器构建失败的概率,并且使得修复失败构建的时间大大缩短。
- 持续集成在一台服务器上不断运行:保证在稳定的环境中进行测试。
- 所有的测试必须全部通过:保证软件现有的功能不被破坏并且没有引入新的缺陷
- 生成构建结果(War, Jar,exe等) : 用以开展下一步的工作,譬如QA的探索测试等。
- 生成报表 :帮助管理人员评估开发状态。
- 修复失败的构建 : 失败的构建意味着软件现有的功能已经被破坏或者有新的缺陷被引入,修复的速度越慢使修复难度越高,并带来更大的损失。
持续集成坏味道:
- 持续编译
[现象]某些团队仅仅使用持续集成服务进行编译并生成最终的构建结果。
[影响]持续集成无法给开发人员,管理人员带来有价值的快速反馈。
[原因]开发团队可能缺乏编写易于测试的代码的能力,或者不了解现代软件开发中测试的流程和作用
[解决方案]测试优先,单元测试,功能测试,验收测试
- 构建长时间失败
[现象] 没有开发者愿意修复失败的构建,持续集成工具上的构建已经持续失败很长时间。
[影响] 开发者忽视持续集成服务器发布的结果,修复构建的成本和难度升高,开发团队,管理团队无法得到快速反馈,丧失安全感
[原因] 长时间不进行代码更新并一次提交太多代码,构建时间太长导致开发者缺乏耐心运行本地构建、任务过于复杂
[解决方案] 简单设计,小步前进,缩短构建时间
- 过多失败构建
[现象]持续集成服务器上有很多失败的构建、开发者常常在持续集成服务器上强制运行构建
[影响]团队其它成员无法提交代码,开发效率下降。
[原因] 通常这是项目中存在随机失败测试的信号,譬如,某些测试存在顺序依赖,时间敏感或者没有在测试结束时正确回收资源。这样,虽然开发者本地构建通过,却无法保证在持续集成服务器上成功构建,开发者会不断的尝试在服务器端重新运行构建试图得到一个成功的构建
[解决方案] 简单设计,编写正确的单元测试
- 构建时间过长
[现象]本地构建时间超过10分钟
[影响]生产率严重下降
[原因] 可能是由于重复测试引起,由于测试之间没有很好的隔离,导致同一逻辑在对不同对象进行测试时被重复测试、或者是软件规模大,测试多引起
[解决方案] 分布式构建
- 构建结果不醒目
[现象] 没有开发者意识到持续集成服务器上的构建已经失败了
[影响] 构建长时间失败,修复难度变大
[原因] 没有将构建结果明显的发布出来
[解决方案] 安装构建指示灯,或者在构建失败的时候播放音乐。
拥抱持续集成:
为了享受持续集成带来的诸多好处,开发者需要做到:
- 小步前进,频繁提交
- 不要提交本地测试失败的代码
- 编写可以自动进行的测试
- 编写可以快速运行的测试
- 如果构建失败,第一时间进行修复
- 如果构建失败,拒绝更新代码
发表评论
-
持续集成
2010-09-07 10:47 815持续集成 原文链接:http://martinfowler ... -
持续集成实践
2010-08-18 17:22 1249CC的项目配置: Xml代码 1. < ... -
通过持续集成尽早发现缺陷
2010-08-18 16:17 1133通过持续集成尽早发现缺陷 http://www.xp163. ... -
cruisecontrol、ant、svn持续集成
2010-08-18 16:14 1901自己两个多星期以来对持续集成的概念和应用有了一些了解。下面主要 ... -
持续集成 java手册
2010-08-18 10:24 1100持续集成 java手册 一、概念 martin fowle ... -
持续集成的极好例子
2010-08-18 09:48 1252持 续集成在目前大多数的公司里都会有这样或者那样的使用。有的会 ... -
浅谈CruiseControl的部署
2010-08-18 09:45 2317浅谈CruiseControl的部署 ... -
持续集成
2010-08-17 09:53 893谈到持续集成,不如先 ... -
不进行持续集成的理由
2010-08-17 08:43 910不进行持续集成的理由 ... -
持续集成(第二版)
2010-08-17 08:33 1083持续集成(第二版) ... -
持续集成:什么应该自动化?
2010-08-17 08:24 897持续集成:什么应该自动化? 一、什么是持续集成(Contin ... -
持续集成和Scrum相关
2010-08-16 18:56 891持续集成和Scrum相关 -
持续集成和Scrum相关
2010-08-16 17:53 752持续集成和Scrum相关 -
持续集成总结
2010-08-16 17:43 1621一、什么是持续集成( ...
相关推荐
Java持续集成是软件开发过程中的一个关键实践,它旨在频繁地合并开发人员的代码更改,以便尽早发现并解决潜在的问题。这个过程通过自动化构建、测试和部署,确保代码的质量和项目的稳定性。持续集成(Continuous ...
在持续集成环境中,Selenium_IDE可以辅助进行功能测试,确保应用程序的功能在每次更新后仍然正常工作。它可以生成可移植的Selenium测试脚本,这些脚本可以在不同环境和浏览器上运行,以验证软件的兼容性和稳定性。 ...
《持续集成:软件质量改进和风险降低之道》一书深入探讨了如何在IT行业中通过持续集成来提升软件质量并有效管理风险。持续集成是敏捷开发方法的重要组成部分,它强调频繁地将开发人员的工作成果合并到主分支,以尽早...
企业IT持续集成与持续交付实践 持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)是企业IT实践中两个非常重要的概念,它们之间紧密相连,都是为了提高软件开发、测试和部署的效率和...
持续集成、交付和部署(CI/CD)是软件开发行业中的实践方法,其目标是使组织能够更频繁、更可靠地发布新的特性和产品。随着对持续实践方法兴趣的增加,系统性地回顾和总结这些实践方法、工具、挑战和实践的做法变得...
持续集成持续集成持续集成持续集成持续集成持续集成持续集成
”已经不再是讨论的焦点,取而代之的是“如何进行持续集成?”。在前一篇文章中,我介绍了Cruise团队持续集成的演进过程。在最后,还曾提 目前IT行业中,似乎“要不要做持续集成?”已经不再是讨论的焦点,取而代之...
总结:以上知识点涉及了从安装和配置JDK、JMeter到Jenkins的完整流程,以及如何将JMeter集成到Jenkins中进行持续集成和接口测试。文档中还提到了Ant的安装和Jenkins插件管理,以及Jenkins安全性设置的相关操作。这些...
持续集成工具 cruisecontrol 配置文件
持续集成实践作为软件开发领域的一项重要实践,是保障软件开发质量、提高开发效率的重要手段。该实践强调开发团队成员频繁地集成他们的工作成果,通常每人每天至少集成一次,从而尽早发现和解决问题,减少集成的...
PHP持续集成是软件开发过程中的一个重要环节,它强调在开发过程中频繁地集成代码,并通过自动化的方式进行编译、测试和质量检查,以尽早发现并修复问题,提升软件的质量和稳定性。本实践主要围绕jenkins、sonar、...
持续集成(Continuous Integration,简称CI)是一种软件开发实践,它要求开发人员频繁地(通常是每天多次)将代码更改集成到共享的主干中。这个实践的重点在于尽早和频繁地检测到集成错误,确保项目开发的各个分支...
通过以上介绍可以看出,利用Hudson进行基于Subversion的持续集成不仅可以显著提高开发效率,还能有效提升代码质量。通过自动化构建和测试,开发者可以专注于编写高质量的代码,而不用担心集成问题。此外,Hudson还...
jenkins持续集成Loadrunner jenkins是一款流行的持续集成工具,而Loadrunner是一款功能强大的性能测试工具。将Loadrunner集成到jenkins中,可以实现自动化的性能测试,提高测试效率和测试覆盖率。本文将详细介绍...