在看《持续集成-软件质量改进和风险降低之道》时,读到下面这段话,很有意思,加了一些自己的理解,和大家分享一下。
Tim是一个java项目15名开发之一,上班来到公司,看到宽屏幕显示器上显示项目实时信息(有一个形象直观实时的构建反馈方式),信息表明,最近一次集成构建几分钟前执行,ci服务器显示成功完成(构建活动是非常频繁的,如果构建失败,就是引发此次构建失败的人的责任,必须马上跟进处理,给构建负责人一顶红帽子也是个不错的主意:))。显示器上列出最新的品质测量指标列表,包括编码/设计标准的坚持情况,代码重复的情况等(对项目品质度量,有很多指标值得关注,甚至写入到规范中)。他看到某个子系统重复代码太多,就对这块代码进行了重构(项目品质度量指标会成为我们做工作计划的重要参考)。在将变更提交svn前,他拉下最新代码,进行一次“私有构建”,构建成功后,他将代码提交(重要的原则:一定在保证用最新代码本地构建成功后才能提交代码)。此时,CI服务器轮询svn库时,发现变更,立即执行集成构建。此次构建先运行自动审查工具,检查所有代码是否符合编码标准。Tim收到电子邮件,通知他违反了编码标准的代码(反馈要及时,准确,信息要充分),他迅速地进行了一些修改,再提交svn。CI服务器再次构建。通过查看CI服务器生成的web报告,Tim发现刚才的代码重构成功减少了子系统重复代码的数量。(工作对项目的贡献及时反馈到开发,对提高积极性也非常有用)
过了会,另一位开发Lisa走进Tim的办公室。
Lisa:我觉得您今天早一些时候进行的改动破坏了上一次构建
Tim:啊。。。。但是我运行测试通过了啊
Lisa: 哦,我还没来得及写测试,没有验证你的修改对我代码的影响。
Tim:你坚持了我们为项目建立的代码覆盖率测试指标吗?
由于这些讨论,他们决定,如何代码覆盖率低于85%,就不要进行集成构建(逐步地完善适合项目约定,同时让大家都认同、遵守这些约定)。且由于与Tim的谈话,Lisa编写了一个UT测试,检测并修复了她发现的问题(测试用例也是在不断地补充完善中,发布一个bug)。集成构建保持“亮绿灯”的状态。
其他:1.(触发持续集成的原因不只是开发提交代码,还有可能DBA变更数据库,配管更新配置项等)
2.构建成功的话,意味项目状态良好,可以随时进行发布。如果将发布过程也纳入持续集成,那发布、交付就变得很轻松
3.用一些有趣、直观的方式来管理项目进度,质量,让枯燥的码农生活变得有趣些。
分享到:
相关推荐
智能制造典型场景参考指引是智能工厂的核心组成部分,它通过新一代信息技术、先进制造技术的深度融合,部署高档数控机床与工业机器人、增材制造装备、智能传感与控制装备、智能检测与装配装备、智能物流与仓储装备、...
该视频教程旨在帮助企业更好地理解和实施持续集成(Continuous Integration, CI)流程,并通过使用Jenkins这一流行的开源工具来实现自动化构建、测试和部署。 ### 持续集成简介 持续集成是一种软件开发实践,它...
在持续集成环境中,配置管理工具的典型使用场景如下: 1. **版本控制**:每个提交的代码都会被打上时间戳和版本号,以便追踪代码的历史版本。 2. **分支管理**:支持创建多个分支,使得团队可以并行开发不同的功能...
一个典型的使用场景可能是:开发人员提交代码后,Gokins自动拉取代码,执行单元测试,如果测试通过则进行打包,然后自动部署到预发布环境,最后进行系统测试和验收,确认无误后推送到生产环境。 总的来说,Gokins...
典型的持续集成流程包括: - **提交代码**:开发人员将代码变动推送到代码仓库。 - **触发集成**:当检测到代码仓库的变化时,自动启动集成过程。 - **代码检查和测试**:执行静态代码分析、自动化集成、单元测试...
从给定的文件信息来看,标题与描述都指向了“T3企管通20个典型应用场景”,这表明文档将详细介绍T3企管通在不同业务场景中的应用案例。T3企管通是一款广泛应用于企业管理的软件系统,旨在帮助企业优化管理流程、提升...
针对制造企业的具体需求,设计了以下几个典型应用场景: 1. **市场需求分析与预测**: - 整合市场数据,为市场需求分析提供全面数据支持。 - 利用数据分析技术预测市场趋势,指导企业战略规划。 - 根据市场需求...
智能制造典型场景参考指引主要聚焦于智能工厂的建设和运营,涵盖了工厂设计、产品研发、工艺设计、计划调度、生产作业以及质量管控等多个关键环节。这些场景利用新一代信息技术和先进制造技术,如三维建模、仿真、...
《智能制造典型场景参考指引》是指导智能工厂建设和升级的重要文档,涵盖了从工厂设计到生产作业、质量管控等多个关键环节的智能化转型。以下是该指引中提到的一些核心知识点: 1. **工厂数字化设计**:利用三维...
"Jenkins+GitHub实现C项目的集成开发"是一个典型的应用场景,它结合了两个强大的工具:Jenkins,一个开源的持续集成服务器,以及GitHub,一个广泛使用的版本控制系统。本文将深入探讨如何利用这两个工具进行C项目的...
《科技行业:数字孪生城市典型场景与应用案例(2020年)》 数字孪生城市,作为现代科技发展的重要成果,是利用物联网、大数据、云计算、人工智能等先进技术,构建的一种虚拟与现实世界相互映射、深度融合的城市运行...
1. **持续集成与持续交付(CI/CD)**:云计算提供了弹性扩展的计算资源,使得开发团队能够快速构建、测试和部署代码。例如,使用AWS的CodePipeline、Azure DevOps或Google Cloud Build等服务,可以自动化构建过程,...
- **持续集成/持续交付(CI/CD)**:vRealize Automation与开发工具如Gitlab、Kubernetes等配合,构建阶段性的CD流水线。 vRealize Automation通过vRealize Suite Lifecycle Manager提供全面的生命周期管理,确保...
本文主要介绍了智能传感器的关键技术、发展历史和典型应用场景。 智能传感器的发展经历了三个阶段:结构型、固体型和智能型。结构型传感器依赖于结构参数的变化来转换信号,而固体型传感器利用半导体等固体材料的...
本文将深入解析其中的十个典型应用场景和五个重点行业实践。 首先,协同研发设计场景利用5G、AR/VR和数字孪生技术,实现了远程研发实验和异地协同设计。科研人员可以跨越地域限制,实时共享实验数据和设计图纸,...
5. **持续集成和持续交付(CI/CD)** vRealize Automation的CDPipline功能整合了Gitlab代码库、Harbor镜像库、VM软件库和K8S开发环境,构建了一套完整的CI/CD流水线。开发者可以在各个阶段进行代码变更,并通过...
### 软件集成.0.8:如何做软件开发中的持续集成,提高软件质量 #### 关键知识点 **一、软件集成的概念** 1. **组装集成与合并集成:** - **组装集成:** 指的是将独立开发的模块或者组件组合在一起形成完整的...
《典型信息系统集成解决方案及应用案例》 信息系统集成是现代企业信息化建设的重要环节,它涉及到企业的核心业务流程、数据管理以及技术架构等多个层面。本报告旨在深入探讨几种典型的信息系统集成解决方案及其在...
该解决方案旨在为企业提供一套完整的集成门户及数据中台建设方法论,帮助客户单位实施集成门户和搭建数据中台,以消除信息孤岛,提升数据使用效率,加速业务创新。方案通过充分利用办公自动化(OA)系统的集成能力、...
三、典型应用场景 1. 区域综合治理:涵盖从临港“六能”体系构建,到园区、新区、校园、景区、医院和治理中心的数字孪生应用,展现了城市综合管理的多个方面。 2. 城市治理:包括上海的“一网统管”、基于北斗网格...