在我的上一篇文章和本系列的第一篇文章中,我介绍了 DevOps 的一种新形式和模型,并描述了它的基本组件和工作流程。
在本文中,我将探讨应用程序发布周期的重要性以及它在我们的 DevOps 模型中扮演的重要角色。
但在开始之前,我有必要简要回顾一下我之前文章中的一些基本部分,尤其是 SDLC,并重新审视一个事实,即我们计算机科学界的许多人可能已经无意中关注了几十年。
我不再详细说明这些步骤,因为之前的文章已经链接到这里。 但是我稍后再看一下 SDLC 图。
软件发布生命周期在 DevOps 中的意义
软件发布生命周期,简称 SRLC,是在任何应用程序开发过程中执行的强制性程序。 这是一个至关重要的必要性,因为高质量的软件可确保高质量的 DevOps。 只有在其各个阶段得到有效推进时,才能有效地确保这一点。
软件发布生命周期
软件发布生命周期或 SRLC 是软件开发从预 alpha 阶段发展到生产阶段的各个阶段的序列。 这是一个持续的过程,因为任何软件都将始终拥有其更新版本,直到且除非它达到 寿命终止(EOL).
名称和实践可能因开发人员而异。 但总的来说,涉及五个基本阶段:
- 前阿尔法:软件版本的第一阶段,仅包含主要功能并且最有可能具有最大数量的错误。 它仅由开发人员和测试人员测试。
- Α:考虑软件发布的第二阶段 功能齐全 并且仍然可能有错误,但比 pre-alpha 少得多。 它由开发人员和测试人员测试。 但根据不同 保密协议,它也可以选择性地或在全球范围内向公众提供。
- 贝塔:第三阶段主要专注于修复前两个阶段遇到的错误和问题。 像 pre-alpha 一样,可用性 beta 软件也基于 NDA。
- 发布候选:软件的候选发布版本是有可能成为最终稳定产品的预发布版本。 在一般实践中,发布候选版本不再接收程序的任何新源代码。 只有在进行生产级测试时仍然遇到错误时才对源代码进行更改。
- 生产发布:很明显,生产版本是作为稳定产品向公众提供的最终产品。
笔记:由于模型透明,NDA 的概念在开源软件领域没有多大价值。
基于我们的新模型,SRLC 实际上分为两个阶段:
1. ADLC 中的开发发布阶段
该应用程序在这个阶段成为它的第一个版本,并且随着它变得更加成熟和可行,它会通过大多数发布阶段(如上所述)进行。 随着时间的推移,Bug 逐渐减少,效率提高。
2. SDLC中的稳定发布阶段
这是 SRLC 的生产阶段,其中开发版本成为可供客户和用户使用的第一个可用稳定版本。
为什么是“生命周期”?
几十年来,在软件工程学科中,不同大学的计算机科学课程都提到了软件发布过程模型为一个循环。 但是所描绘的图表是非常矛盾的。 通常,它以以下方式描述:
根据一个简单的观察,很明显,上图根本没有显示任何“类似循环”的属性。 基于这个传统模型,它被称为一个循环,即使图表没有显示这样的特征……它不能被称为一个循环……它是一个流程图。
为了让它看起来像一个循环,生产阶段需要回到预 alpha 阶段,这没有逻辑意义,除非整个场景再次经过严格审查:
您可以清楚地注意到,稳定版本是软件充分发挥其潜力并能够在生产中部署的地方。 即使它没有显示在图表中,为什么它被称为“生命周期”?
这就是原因
当用户/客户采用生产版本时,软件的开发人员仍在通过添加更多功能、调整现有功能、修复生产中的错误和安全故障以及任何其他随着时间的推移可能需要的更改来对其进行改进. 因此,始终有一个开发版本始终在幕后工作。
无论软件经过严格测试如何,都存在某些缺陷,只有在现实世界的场景中才会显现出来,并且这些缺陷在任何生产版本的更新版本中都得到了修复。
让我们想一想。 如果软件以更新版本的形式不断开发,产品版本真的可以称为最终产品吗?
如何将图表及其场景视为一个真实的循环?
为了能够将此过程视为一个循环,我们需要重新审视我们之前描述的新 SDLC 模型:
如果只想从软件发布的角度来看,SDLC模型可以转化为SRLC:

软件应用程序仅涉及其开发,而软件系统则涉及应用程序及其部署和维护的系统过程的开发。 如果我们进一步简化,我们可以重新设想如下:

让我们放大 Development Release(s) 区域以查看实际情况并得出我们的“生命周期”:

在这里,您可以观察到前四个基本阶段现在表示为实际循环的一部分。 这些阶段中的每一个也经历 应用程序开发 基于 ADLC(在图中标记为 ADLC),因为它们进入下一阶段。 一旦软件开发退出候选发布阶段,它就会经历 系统开发 基于 SDLC(在图中标记为 SDLC)最终成为一个稳定的版本,可以通过最终用户和客户环境等生产部署激活。
为什么现在一个稳定的版本必须回到一个 pre-alpha 状态? 只是为了将自己表示为一个生命周期? 当然不。
一个稳定的版本必须重新经过 pre-alpha 级别的筛选,以始终保持尽可能高的质量。
由于该产品已经作为稳定版本发布,在pre-alpha、alpha和 beta 阶段不会花费很长时间。 因此,您必须牢记,新产品在向公众发布后,在经过各种用户的实际部署和审核后,很快就会接近候选发布级别的筛选。
实时生产级别的错误是不可避免的,无论性质如何,有必要使用 pre-alpha 方法重新评估它们。 只有这样,才能以最佳的速度和效率始终如一地确保高质量的软件。
因此,这个修改后的模型现在终于可以被称为一个实际的循环,而不是我们开发社区中的许多人可能几十年来无意中遵循的传统流程图! 这是一个持续的过程,这就是为什么它被称为软件发布“生命周期”。
如果对此主题有任何建议、反馈或意见,请在下面的部分中告诉我们。 我们很乐意看到您参与到这些有趣的方法中。 请继续关注本系列的下一篇文章 🙂