优化词汇表

持续集成

什么是持续的一体化?

持续集成(CI)是一种Devops和软件开发实践,其中代码被连续集成到 树干 (也称为主线或主线的共享存储库),其中自动构建和测试这些集成。

通过将Code的受控部分集成到Master分支中,您可以快速找到错误并更轻松地定位它们。持续集成缓解了希望与其他人合并使用的代码工作的焦虑,因为您对其与主线相关的状态充满了充实的状态。

如果没有CI,软件开发人员必须在将其与代码库的其余部分合并之前完成整个功能。当开发人员已将其合并到主线中时,已经有许多更改使其导致称为合并冲突的内容,或者对代码的竞争更改。这会导致开发工作流程中的摩擦,因为它有时需要几个小时才能解决和合并由不同团队成员或团队编写的代码。

持续整合的好处

增加开发速度

通过应用持续集成,组织可以提高开发速度,因为开发人员可以隔离其代码的一部分,以有效地发现其软件项目中的错误,并为客户推出新功能,而不会在经验中创造虚构。开发人员可以将未完成的功能集成到Master分支后面的功能标志背后,而不会冒险不稳定。

此外,开发人员可以在不必担心Detangling Messy Merge冲突的情况下工作。通过使用 特色标志 或者 功能切换,正在进行中的功能可以被推入共享分支,而不会阻止该分支的释放。

提高产品质量

当您更频繁地检查代码时,您可以提高产品质量,因为您每天多次运行测试,您在尝试与其他人的工作融合之前,您就不会等待巨型建立堆积。控制部分部分的能力允许开发人员专注于代码的质量和更快地乘坐船舶。

强代码基金会

想象一个有100%的无蛋格代码的世界来说,这是不现实的,但是有可能的工具和流程来捕获最具破坏性的错误,并且应该是在公司内实施持续集成的思想的一部分。在练习CI时,团队可以完全控制和可见性,而不是在码库中引入的内容,并且如果部署导致错误,则可以轻松地进行分类。

连续集成工具

有许多可用的CI工具可以帮助开发人员在其软件开发过程中实施持续集成:

  • 源码控制 - 源控制和版本控制系统,如Git,GitHub(用于开源软件),Bitbucket和Subversion作为代码存储库以及合并源代码更改的方法,并在集成的代码中解析冲突。

  • 自动测试 - 通过CI进程中涉及的频繁的码集成,重要的是要保证合并的代码的质量,因此自动化单元测试和诸如Jenkins和Selenium等测试套件至关重要。

  • 构建自动化 - 连续集成工具还包含功能,该功能可帮助自动构建过程,以便构建由触发器自动启动,例如新代码将新代码合并到主线中,该过程称为连续部署。

  • CI平台 - 有许多持续的集成平台,有助于管理CI过程中涉及的许多任务。流行的工具包括Circleci,Jenkins,Buddy,Gitlab CI,Travis CI和代号。

连续集成与连续交付

连续交货 (CD)是软件开发过程,可快速,安全,更高质量地将代码变为生产,通常使用工具自动化部署。工程团队在短周期中对其软件进行更改,以便更频繁地测试和发布。这种方法允许较低的成本和风险增量变化。

在传统的软件开发中,在每个人完成工作后,整合过程发生在项目结束时。这个过程可能需要很长时间并且对所有参与者都令人沮丧。

持续集成是一种软件开发实践,可以在开发周期中更早地移动集成阶段,以便开发,测试和集成代码以更大的频率发生。开发团队将代码更改合并到共享中央存储库中的几次,以便在任何时刻发布产品版本。这需要一个可重复和自动化的集成过程。

连续集成和连续交付通常作为敏捷开发方法的一部分将其成对,因此组合的缩写“CI / CD”通常用于描述该过程。

连续集成和产品实验

运行成功的实验组织要求开发团队能够快速有效地工作,因为需要一旦您的功能在现实世界中使用了一旦您的特征才能迭代。功能标志允许您尝试更自信,并不用担心如果要启用或禁用功能,则必须更改基础架构或代码。

帮助将A / B测试保留为组织部署过程的关键部分, 优化完整的堆栈 通过实验集成功能标志,卷展览和变量,允许您在一个地方控制整个产品开发生命周期。首先运行一个 A / B测试 到了一部分流量,您的团队可以测试并逐步优化新功能。一旦您拥有最佳用户体验,它可以以受控方式推出,整个客户群以降低发布过程的任何工程问题的风险。