资源 文章持续集成

什么是连续的集成?

什么是连续的集成?

持续集成是经常(最坏,每天)将所有代码更改整合到单个权威代码分支中的开发人员实践,从中生产环境已部署/生产软件已构建。这种做法可以提早发现问题,并立即提供有关代码质量的反馈,从而可以立即确定,诊断和解决问题,而不会中断生产环境。

连续集成确保了错误的测试,构建和报告不断发生,从而为工程师提供了快速的反馈。鉴于它迫使一个单代码路径对于生产,工程师被高度激励以迅速修复其构建。

为什么要连续整合?

在过去的几年中,随着组织继续对数字化转型进行大量赌注,并将其关键任务系统,服务和应用迁移到云到云中,企业的IT干扰成本飙升。同时,由于可以改善发展敏捷性的行业的广泛采用,因此运营复杂性正在上升。

而且,由于开发团队的代码部署节奏通常每天达到500次以上,因此在没有某种维护窗口或计划停机时间的情况下,一致且可扩展的代码部署过程的执行变得越来越难以实现。

为了应对这些挑战,许多行业的许多开发团队采用了持续融合的实践。

连续整合的好处

连续集成可以使开发团队之间的几个运营效率,包括但不限于:

  • 确保软件发布过程定义明确,一致,并且没有侧带“快捷方式”。
  • 确保更改与生产可部署性有直接关系
  • 团队独立工作并在团队之间一致沟通的自主权
  • 能够扩展开发过程而无需增加维护复杂性
  • 确保更改与生产可部署性有直接关系
  • 根据您可以在构建管道中验证的内容来定义软件质量,并确保在他们到达生产环境之前很早就发现了任何性质的缺陷(不仅是逻辑错误,而且性能问题,安全问题等)。

在生产环境中,将团队的事件管理流程集成到您的持续集成工作流程中,是提高构建失败构建的沟通和透明度的绝佳方法。CI失败通常是需要升级的关键问题,因为您有效地停止了制作的装配线。将失败构建的详细信息发送到PagerDuty等事件管理平台,可以提供许多好处,这些好处超出了许多连续的集成工具提供的标准通知。

持续整合最佳实践

正如马丁·福勒(Martin Fowler)在一篇文章中列出的那样,一些关键角色和连续整合的最佳实践如下:

  • 维护代码存储库
  • 自动化构建
  • 进行自我测试
  • 每个人每天都要承诺基线
  • 每个提交都应建立(基线)
  • 保持快速构建
  • 在生产环境的克隆中进行测试
  • 使获得最新的可交付成果变得容易
  • 每个人都可以看到最新构建的结果
  • 自动部署

记录任何代码更改或更改也很重要,以确保在返回任何故障测试或版本的情况下对过程的全面可见性。

premortems

事件管理技术可以连续整合的最大好处之一是“ premortem”的概念。用项目管理术语,验尸是研究和识别成功或失败的项目启动元素的过程。尽管此过程通常是在项目成功完成时完成的,但就事件管理而言,它涉及理解和传达重大失败的根本原因。
通过将此过程集成到连续的集成工作流程中,您可以执行一个premortem。通过Premortem,您正在提前寻找问题。可能会发生什么问题,可能会破坏服务并触发事件。在连续集成阶段进行故障和潜在服务破坏事件的测试使团队能够评估潜在的威胁并在事物到达最终用户之前进行更改。

连续集成与连续部署

在软件开发,交付和/或部署方面,持续集成和连续部署通常被视为互补过程。连续集成是将合并和代码更改为主要代码库的过程,而连续部署实质上是该过程的扩展,这意味着可以使用该应用程序或使用该应用程序或服务。

连续的提高

通过将事件管理平台与连续集成工作流程配对,您可以使用失败构建的详细信息作为代码审查过程的补充,以确定应更详细讨论的代码的特定区域。这是一个不仅提高代码质量的绝佳机会,而且还要保持测试套件的重要性。

结论

尽管事件管理通常被认为是一个反应性过程,但是结合连续的集成工具集可以将其转变为主动,甚至预防性实践。在事件发生之前应对并减轻事件,使团队能够在撞击客户事件之前保持一步。这将减少技术代码债务和提高整体可靠性和稳定性您的产品适合客户。

有兴趣了解有关Pagerduty如何帮助您简化您的持续集成实践的更多信息?尝试aPagerduty的14天试用今天。

Baidu