持续集成_3_简介
2011-07-01 14:15
106 查看
正式进入持续集成的系列介绍
持续集成 (CI) 是什么?
引用Martin Fowler的描述,持续集成是一种开发实践,即团队的成员经常集成他们的工作,通常每个成员每天至少集成一次---这导致每天发生多次集成。每次集成都通过自动化的构建 (包括测试)来验证,从而尽快的检测出集成错误。
谁应该关注持续集成?
软件工程所有关系人都应该关注持续集成。
对于开发人员,CI可以让你把更多的精力花在做好软件上,而不是每天浪费大量时间解决一些集成过程中产生的问题。
对于测试人员,CI可以保持测试一直持续稳定的进行,让你更加有效、合理的展开工作。避免出现有时候一天要测试好多版本,有时候连着几天没有版本可测的情况。
对于数据库管理员,CI帮你合理的对数据库的版本进行了控制,并且自动执行了可执行的脚本文件。你可以用更多的时间优化一些数据结构,或者协助开发人员对Sql语句的执行速度进行优化。而不用整天忙着将数据库从一个环境导到另一个环境,或者面对一堆等着你执行脚本文件的开发、测试人员。
对于运维,你只需要告诉CI,这次想发布哪个项目,版本号多少,想发布到哪个环境即可,同时可视化的管理配置文件。不用每次发布前打开一张密密麻麻的环境IP对应表,然后再copy、copy、copy。最后还要改一些不知所云的配置文件。
对于领导,公司有很多项目在同时进行,想了解各项目进展情况的时候,只需要打开一个浏览器,或者查看CI发来的邮件。就很容易知道项目的真实进展情况。而不用很费力的理解开发人员描述的:“大概还有30%就做完了”究竟是什么意思。
持续集成包括哪些内容?
持续编译
代码提交到SVN后,CI立即进行编译,发现问题后及时反馈给相关人员。确保问题在第一时间被解决。而不是等到这个问题对项目产生了影响后再解决。
持续测试
编译通过后,自动进行一系列的测试。保证软件能够顺利的通过所有的单元测试、组件测试、功能测试、系统测试。并且在测试完备的情况下,通过测试的包是可随时发布的。
持续数据库集成
将数据库脚本视同代码文件,接受SVN的版本控制。保证代码和脚本文件能够对应,避免找到代码包,找不到对应数据库的尴尬。同时在系统集成时自动执行数据库脚本。并且在遇到问题时及时通知相关人员解决。
持续部署
通过上述过程后,即时对系统进行部署,确保整个工程是一个可运行的整体。而不是左一块右一角的零碎文件。
持续审查
随时保持代码的整洁,清爽。加速团队内的代码沟通,将重构的概念引入到日常编码工作中去,同时也可避免非战略性的、劳民伤财的重做工作。
持续反馈
随时将项目的情况通过各种方式反馈出来,比如邮件、大屏幕、音响等等。让项目所有的关系人可很方便、甚至是被迫的了解当前各项目的进展情况。
持续集成 (CI) 是什么?
引用Martin Fowler的描述,持续集成是一种开发实践,即团队的成员经常集成他们的工作,通常每个成员每天至少集成一次---这导致每天发生多次集成。每次集成都通过自动化的构建 (包括测试)来验证,从而尽快的检测出集成错误。
谁应该关注持续集成?
软件工程所有关系人都应该关注持续集成。
对于开发人员,CI可以让你把更多的精力花在做好软件上,而不是每天浪费大量时间解决一些集成过程中产生的问题。
对于测试人员,CI可以保持测试一直持续稳定的进行,让你更加有效、合理的展开工作。避免出现有时候一天要测试好多版本,有时候连着几天没有版本可测的情况。
对于数据库管理员,CI帮你合理的对数据库的版本进行了控制,并且自动执行了可执行的脚本文件。你可以用更多的时间优化一些数据结构,或者协助开发人员对Sql语句的执行速度进行优化。而不用整天忙着将数据库从一个环境导到另一个环境,或者面对一堆等着你执行脚本文件的开发、测试人员。
对于运维,你只需要告诉CI,这次想发布哪个项目,版本号多少,想发布到哪个环境即可,同时可视化的管理配置文件。不用每次发布前打开一张密密麻麻的环境IP对应表,然后再copy、copy、copy。最后还要改一些不知所云的配置文件。
对于领导,公司有很多项目在同时进行,想了解各项目进展情况的时候,只需要打开一个浏览器,或者查看CI发来的邮件。就很容易知道项目的真实进展情况。而不用很费力的理解开发人员描述的:“大概还有30%就做完了”究竟是什么意思。
持续集成包括哪些内容?
持续编译
代码提交到SVN后,CI立即进行编译,发现问题后及时反馈给相关人员。确保问题在第一时间被解决。而不是等到这个问题对项目产生了影响后再解决。
持续测试
编译通过后,自动进行一系列的测试。保证软件能够顺利的通过所有的单元测试、组件测试、功能测试、系统测试。并且在测试完备的情况下,通过测试的包是可随时发布的。
持续数据库集成
将数据库脚本视同代码文件,接受SVN的版本控制。保证代码和脚本文件能够对应,避免找到代码包,找不到对应数据库的尴尬。同时在系统集成时自动执行数据库脚本。并且在遇到问题时及时通知相关人员解决。
持续部署
通过上述过程后,即时对系统进行部署,确保整个工程是一个可运行的整体。而不是左一块右一角的零碎文件。
持续审查
随时保持代码的整洁,清爽。加速团队内的代码沟通,将重构的概念引入到日常编码工作中去,同时也可避免非战略性的、劳民伤财的重做工作。
持续反馈
随时将项目的情况通过各种方式反馈出来,比如邮件、大屏幕、音响等等。让项目所有的关系人可很方便、甚至是被迫的了解当前各项目的进展情况。
相关文章推荐
- 企业持续集成成熟度模型简介之一——构建
- Jenkins持续集成【简介】
- 企业持续集成成熟度模型简介之二——部署
- 企业持续集成成熟度模型简介之三——测试
- 持续集成和hudson/jenkins简介
- 企业持续集成成熟度模型简介之四——报告
- 企业持续集成成熟度模型简介之二——部署
- 持续集成简介
- 数据库开发的持续集成 - Liquibase的简介和应用
- GitHub+Jenkins持续集成简介
- 持续集成简介
- Jenkins系列(一)----Jenkins持续集成简介
- 持续集成之Jenkins+Gitlab简介 [一]
- 企业持续集成成熟度模型简介之一——构建
- 企业持续集成成熟度模型简介之三——测试
- 持续集成之 Jenkins+Gitlab简介 [一]
- 持续集成简介
- 持续集成简介
- 持续集成简介
- 持续集成之Jenkins+Gitlab简介 [一]