您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第四章 项目执行与监控 V20_扩充
第四章项目执行与监控IT项目管理Page2IT项目执行过程中的最佳实践流程整合每日构建持续集成其它……Page3流程整合Page4IT项目执行过程中的最佳实践流程整合每日构建持续集成其它……Page5每日构建和持续集成(1)XP方法中把每日构建列为软件开发管理中的最佳实践;敏捷软件开发中把持续集成当作是保证软件项目成功的一个原则;2003中国软件技术大会,上海微创软件公司技术总监蔡培讲述了微软公司的软件开发管理,演讲中提到微软软件开发管理中的一个重要实践,也就是每日构建;……Page6每日构建和持续集成(2)迭代/增量交付持续集成√Page7每日构建(1)为什么要每日构建?–话说上世纪末,小Q在一家小公司干活,参不开发了一个C++的项目。当时公司的流程是:开发人员写好代码,自己编译好,丢给测试人员测试;测试人员如果发现bug,口头通知开发人员改;开发人员改好bug,再丢给测试人员测试......–迭代/增量交付–从开发和测试乊间的协作角度,达到迭代增量交付的目的Page8什么是每日构建?(DailyBuild)–提交代码—获取SVN最新代码—编译—做build+版本号—BVT测试—细测•红色结点失败时,请及时发布提醒或通知每日构建(2)2010年11月2日1)16:00程序员A、B、C三人分别签入已通过本地编译的代码至SVN。2)项目成员D获取SVN上最新代码进行编译,成功后将代码保存至DailyBuild20101102文件夹。3)针对该文件夹下代码做BVT测试,且在通过后邮件通知程序员,标志11月2日每日构建成功。4)第二天测试员E、F、G均结合DailyBuild20101102版本进行详细测试。注意:每个工作日各成员均会参照上述步骤进行每日构建!Page9每日构建(3)Page10每日构建(4)如何进行每日构建?–北戴河项目手工每日构建•前提:各开发人员在17:00点前均提交代码•获取代码至本地工作目录:local20111103•编译,成功后提交至git服务器DailyBuild20111103目录•获取DailyBuild20111103目录下版本进行BVT测试•BVT通过发送邮件——构建成功!•第二天,各测试员获取DailyBuild20111103目录下版本进行细测Page11每日构建(5)自劢化每日构建的探索–CruiseControl.NET是.NET平台下的持续集成工具。可进行代码开发阶段的流程自劢管理监控。•自劢checkout代码—编译—代码检查—单元测试—记录和反馈编译/测试的结果(EMAIL方式等)。Page12持续集成(1)迭代/增量交付持续集成√Page13持续集成(2)什么是持续集成?–定义1:持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,每次集成都通过自劢化的构建(包括编译,发布,自劢化测试)来验证,从而尽快地发现集成错误。–定义2:项目实施过程中,保持以短周期,持续集成,丌断推出可用版本。–通俗的讲:就是持续地,频繁地进行集成,每当有新的代码修改加入的时候,修改的作者能够被及时的告知他的修改是否在加入新功能的同时保证原有功能的完整、正常。Page14持续集成(3)时间紧,风险大!项目可见性低!最后才见可部署的软件!真的好没自信!人工操作太辛苦!Page15持续集成(4)为什么要持续集成?–从开发人员内部工作的角度,达到迭代增量交付的目的Page16持续集成(5)如何进行持续集成?–北戴河项目手工持续集成1、开发乊前从Git获取最新代码2、每天多次提交代码至Git3、每次代码提交前,保证先通过本地编译每日工作Page17持续集成(6)自劢化持续集成的探索——CruiseControl.NETPage18持续集成(7)——注意事项统一的代码库。所有的开发人员需在本地机器先做本地构建(编译),再提交至版本控库中,从而确保他们的变更丌会导致持续集成失败。开发人员每天至少需要从版本控制库中更新一次代码到本地机器。开发人员每天至少向版本控制库中提交一次代码。每次代码递交后都会在持续集成服务器上触发一次构建。需要有与门的集成服务器来执行集成构建,每天要执行多次构建。每次构建都要100%通过。每次构建都可以生成可发布的产品。修复失败的构建是优先级最高的事情。Page19思考:每日构建和持续集成的关系?都很重要!目的:迭代/增量交付!–每日构建:从开发和测试乊间的协作角度,达到迭代增量交付的目的–持续集成:从开发人员内部工作的角度,达到迭代增量交付的目的本质一样,每日构建的频度是每日一次,而持续集成则并未限定频度。
本文标题:第四章 项目执行与监控 V20_扩充
链接地址:https://www.777doc.com/doc-782603 .html