`
xp9802
  • 浏览: 1204631 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于持续集成几点知识点

阅读更多
持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
 
一些原则:
1. 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。
2. 开发人员每天至少向版本控制库中提交一次代码。
3. 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。
4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。
5. 每次构建都要100%通过。
6. 每次构建都可以生成可发布的产品。
7. 修复失败的构建是优先级最高的事情。

持续集成周期包括以下几个步骤:
1.持续集成服务器不断从版本控制服务器上检查代码状态,看代码是否有更新。
2.如果发现代码有最新的提交,那么就从版本控制服务器下载最新的代码。
3.等代码完全更新以后,调用自动化编译脚本,进行代码编译。
4.运行所有的自动化测试。
5.进行代码分析。
6.产生可执行的软件,能够提供给测试人员进行测试。

如果其中任何一个步骤失败,就表示该Build失败,持续集成服务器会给予相应的反馈。一般来说,持续集成服务器会有相应的管理界面,可以看到Build的状态以及相应的信息,如果Build失败,可以查看原因,是编译失败还是测试失败。或者在每次Build后,持续集成服务器发邮件通知,从邮件中可以看到最新Build的状态。当然,也可以自定义反馈方法,比如在ThoughtWorks中国,有个团队的持续集成反馈就是火山灯,黄色表示正在进行Build,绿色表示Build成功,而红色则表示Build失败,一旦发现灯变红了,所有人都不能提交代码,而应该尽快修复该Build。还有一个团队更有创意,用语音来进行反馈。如果Build成功,就会有语言提示说“Build XXXX成功”,如果失败,就会有提示“Build XXXX失败,是由XXX提交的”,被念到名字的成员就得停下来修复这个Build。
  持续集成实践的目的不是减少Build失败的次数,而是尽早发现问题,在最短的时间内解决问题,减少风险和浪费。如果想尝试持续集成,首先需要的是持续集成服务器,比如CruiseControl或者VSTS;然后需要把现有的Build自动化,比如写Ant脚本;最后就是在持续集成服务器上进行配置,比如配置版本控制,集成间隔时间,如何部署,如何反馈等。
分享到:
评论

相关推荐

    jenkins+jmeter持续集成.pdf

    总结:以上知识点涉及了从安装和配置JDK、JMeter到Jenkins的完整流程,以及如何将JMeter集成到Jenkins中进行持续集成和接口测试。文档中还提到了Ant的安装和Jenkins插件管理,以及Jenkins安全性设置的相关操作。这些...

    持续集成JAVA和C#

    总结一下,这个主题涵盖了以下几个知识点: 1. 持续集成(CI)的基本概念和目标,包括频繁合并、自动化构建和测试。 2. Java和C#在CI中的应用,涉及使用的语言特性、库和框架。 3. 代码版本控制,如Git的使用方法和...

    支付宝-持续集成分享(西剑)

    根据给定的标题“支付宝-持续集成分享(西剑)”和描述,我们可以推断出这份文档主要讨论了支付宝在持续集成(Continuous Integration, CI)方面的实践与分享。虽然部分内容包含了一些非可读字符和英文链接,但是...

    IPD教材(华为产品持续集成的管理流程)

    华为产品持续集成的管理流程,即IPD,包含了以下几个关键知识点: 1. IPD的定义:IPD是集成产品开发的简称,它是一种结构化的项目管理方法,用于指导跨功能团队开发新产品和管理产品线。IPD强调将不同部门和功能...

    持续集成 fffffffffff

    在"52Git与Git代码托管平台"这个主题中,我们可以深入探讨以下几个与持续集成相关的知识点: 1. Git:Git 是一个分布式版本控制系统,用于跟踪对项目文件的修改。在持续集成流程中,Git 允许团队成员在各自的分支上...

    系统集成项目经理知识点.docx

    ### 系统集成项目经理知识点详解 #### 一、信息系统概述 **1.1 信息与信息系统** - **信息系统概念:** - 定义:信息系统是与信息加工、传递、存储、利用有关的系统。 - 组成部分:信息系统一般包括数据处理...

    Java持续集成工具.doc

    以下是一些重要的知识点: 1. **Apache Continuum**: Apache Continuum是一个开源的持续集成服务器,它允许自动构建、测试和部署项目。它支持多种构建工具,如Maven和Ant,可以集成各种测试框架和代码质量检查工具...

    玩转持续化集成之Jenkins

    在配置Jenkins时,我们还需注意以下几点: - 全局JDK配置是必须的,因为Jenkins运行Java程序需要依赖JDK。 - 安装Ant和Maven工具后,需要在Jenkins中配置相应的路径,这样Jenkins在执行任务时能够使用这些工具。 - ...

    系统集成项目管理工程师知识点总结.docx

    根据提供的文档内容,我们可以归纳出系统集成项目管理工程师考试中几个关键的知识点: ### 一、详细项目范围说明书 详细项目范围说明书是项目管理的重要组成部分,主要包括以下几点内容: 1. **项目目标和项目范围...

    jenkins+ant+jmeter持续集成测试.docx

    根据提供的文档内容,我们可以归纳出以下几个关键知识点: ### 一、Jenkins介绍及优势 - **Jenkins** 是一个开源的持续集成与持续部署(CI/CD)工具,支持自动化软件构建、测试以及部署等过程。 - **特点**:作为一...

    Jenkins高级篇之Pipeline实践篇-5-Selenium和Jenkins持续集成-Pipelinejob草稿版.rar

    以下是关于这个主题的详细知识点: 1. **Jenkins**:Jenkins是一个开源的持续集成工具,支持多种构建、部署任务,允许开发者频繁地将代码集成到主分支,以尽早发现并修复问题。它提供丰富的插件生态,可以扩展其...

    泛微各种集成与及配置等

    在IT行业中,泛微...以上就是关于"泛微各种集成与及配置"的相关知识点,涵盖了集成的多个方面,包括集成方式、配置流程、安全控制以及最佳实践等,为企业构建高效、灵活的信息化工作环境提供了理论和技术支持。

    AZ-104 题目与个人知识点总结

    在AZ-104认证中,考生需要掌握以下几个关键知识点: 1. **Azure基础管理**:包括创建和管理Azure订阅,理解成本管理工具如Azure Cost Management + Billing,以及如何使用Azure Portal进行资源管理。 2. **Azure...

    系统集成教材学习

    在"系统集成教材学习"这个主题中,我们可以从以下几个关键知识点进行深入探讨: 1. **系统集成概述**:了解系统集成的基本概念,包括其目的、方法和分类,如硬件集成、软件集成、数据集成、应用集成等。 2. **集成...

    基于主流技术Spring Boot2,配套代码生成平台,DevOps运维平台,CI/CD持续集成能力,在线API接口管理。

    标题中的“基于主流技术Spring Boot2,配套代码生成平台,DevOps运维平台,CI/CD持续集成能力,在线API接口管理”揭示了几个关键的IT知识点,这些知识点都是现代软件开发与运维流程中的核心组成部分。 1. **Spring ...

    nexus2.6.2+hudson3.0.1持续集成工具(1)

    在IT行业中,持续集成...在实际操作中,可能还需要考虑安全性、性能优化以及持续部署(Continuous Deployment,CD)的扩展,但以上内容已经涵盖了Nexus 2.6.2和Hudson 3.0.1在持续集成中的基本使用和重要知识点。

    【互联网一线大厂面试+学习指南】 涵盖大部分Java程序员所需要的面试知识点和面试技巧,分享真实面试经历。.zip

    首先,Java程序员面试的核心知识点通常包括以下几个方面: 1. **基础知识**:这是面试的基础,包括但不限于数据类型、运算符、流程控制语句、类与对象、封装、继承、多态等Java语言特性。同时,对异常处理、垃圾...

    flowable集成达梦8数据库

    集成Flowable和达梦8数据库的关键步骤和知识点主要包括以下几个方面: 1. **环境准备**:确保已经安装了Java开发环境(JDK)、Maven构建工具以及Spring Boot框架。同时,下载并安装达梦8数据库,配置相应的数据库...

Global site tag (gtag.js) - Google Analytics