持续交付的关键概念

发布于:2021-02-21 00:00:26

0

314

0

持续交付 devops

您已经做出决定:在DevOps转换的第一步,您将要进行连续交付(CD)。您已经奠定了基础。您已经建立了转变为CD思维方式的基本前提条件:从确保团队有共同的目标到对一切进行自动化和版本控制(包括应用程序和支持它的环境)到确保应用程序版本已准备好投入生产。

怎么办?您已经准备好实际实现CD。你是如何开始的?

因为CD是一个过程,而不是一触即发的动作,所以您将需要制定计划,实施该计划,采取一些步骤,并准备在进行过程中重新评估,修订和恢复。您正在改变组织的整体文化,承诺提供更好的方法来交付更好的软件。您不会一口气完成所有工作。但是,如果您慢慢地步伐并一次向前迈出一步,那么您就可以开始并可以成功。这是成功的公司为实施CD所采取的一些步骤。

选择一个易于管理的小项目开始

组织经常犯的一个错误是尝试过早地做太多事情。CD爱好者热衷于这种方法,他们倾向于快速取得重大成就来证明组织的承诺。因此,他们坚持不懈,尝试解决一个曲折的复杂项目。“大爆炸”方法有望带来丰厚的回报,但它往往会带来大问题。

更好的方法是从一个小型的未开发项目开始,该项目使组织可以试用CD并习惯于新程序。尝试选择一个新的交付预期的新区域,该预期与旧的管道和旧的过程无关。对应用程序进行小的,渐进式更改更易于测试,并且在出现问题时也更容易补救。每个变更都可以更快地通过管道,从而使组织可以进行更短,更快的管道运行,从而可以产生可衡量的积极结果。

定义过程

选择初始项目后,需要定义流程。这就像在板上编写程序一样简单。我们中那些已经读过Gene Kim的书《The Phoenix Project 》的人都熟悉这一步骤。书中强调的公司遇到了所有可以想象到的IT交付问题,直到IT副总裁Bill Palmer实施了持续交付。第一步是让每个员工在白板上写下交付过程中的步骤,并考虑如何将它们链接起来,从而创建装配线过程。然后,团队汇总了他们的意见,创建了工作流程并将其自动化。

事实是,您可以购买一套出色的工具,制定一套激进的目标,并让您的团队接受。但是,除非您制定出一个流程,了解该流程并分配角色,否则您就无法开始。

确保无罪的文化

概述了CD实施的先决条件,其中包括开发,质量保证和运营团队必须具有共同目标的要求。这很重要。但这并不是“人们工作”的终点。

实施CD时,应进行持续检查,以确保您真正在倡导无罪文化。在任何CD实施中都会出现问题,并且您的组织需要确保以积极的方式对问题进行分类,而无需人们互相指责。成功的DevOps文化会接受失败并促进冒险。改用CD会有风险,您的团队需要在游戏中保持领先,以不断改进您的流程。

设定指标并衡量您的成功

Kurt Bittner并不是唯一一位反复提出要量化项目价值的思想领袖。但是他确实像其他人一样清楚地说明了在软件交付项目中要衡量什么以及如何将这些度量应用于流程的每个步骤。

事实是,如果不进行测量,就无法提高,而且要经常进行。因此,在进行持续交付过程中的一个重要步骤是决定要改进的方面以及如何衡量改进。然后,设置一系列基线测量。而你离开了。

采用配置作为代码

连续交付的一个关键方面是能够自动执行配置。这种按代码配置的DevOps做法可确保CD流程的一致性,并消除每次您要将发行版推向生产环境时由于重建配置(可能不一致)而导致的问题。

如果要实施CD,则需要确保您利用启用配置管理的工具-Chef,Puppet和其他工具。而且我们看到更多的DevOps操作实现了这些工具。根据最近的一项调查,有49%的组织使用配置管理工具,而48%的组织使用版本控制系统来更改基础架构和系统定义。但是,另一方面,仍然有73%的人至少有一半的基础架构更改仍必须使用手动脚本。

编排流程

您已经定义了管道;现在您需要进行整理。这是一个漫长的过程,但是您需要采取一些步骤:

  • 确保可复制的构建–配置构建系统以使用连接到构建作业的工作区的干净存储库,并使用中央共享存储库来构建依赖项。

  • 通过管道共享构建文物–确保候选文物被管道中的所有后续构建所使用。

  • 为每个作业选择正确的粒度–将管道中的所有步骤分布在多个作业中,使您可以更轻松地确定瓶颈。

  • 可视化管道–为构建管道创建清晰,可访问的视图,以使状态沟通畅通无阻,并使流程对业务经理和其他利益相关者透明。

结论

最初,连续交付似乎是一个艰巨的挑战,但这是一个值得走的旅程。您可以使用各种工具,包括许多免费的Jenkins插件,以使任务更易于管理。稍加紧张和深谋远虑,您就可以开始进行CD项目,该项目最终将为您,您的团队,您的公司和客户带来切实的利益。