📜  DevOps生命周期

📅  最后修改于: 2020-12-30 01:10:18             🧑  作者: Mango

DevOps生命周期

DevOps定义了运营与开发之间的敏捷关系。从产品的开始到最终阶段,开发团队和运营工程师共同实践这一过程。

在不了解DevOps生命周期阶段的情况下,学习DevOps并不完整。 DevOps生命周期包括以下七个阶段:

1)持续发展

此阶段涉及软件的计划和编码。在规划阶段确定项目的远景。开发人员开始为应用程序开发代码。计划不需要任何DevOps工具,但是有几种工具可以维护代码。

2)持续整合

此阶段是整个DevOps生命周期的核心。这是一种软件开发实践,开发人员需要更频繁地对源代码进行更改。这可能是每天或每周。然后,将构建每个提交,如果存在问题,则可以尽早发现问题。构建代码不仅涉及编译,而且还包括单元测试,集成测试,代码审查打包

支持新功能的代码与现有代码不断集成在一起。因此,软件在不断发展。更新后的代码需要与系统连续流畅地集成,以将更改反映给最终用户。

Jenkins是此阶段使用的流行工具。每当Git存储库中发生更改时,Jenkins都会获取更新的代码并准备该代码的构建,该构建是war或jar形式的可执行文件。然后,将此构建转发到测试服务器或生产服务器。

3)连续测试

在此阶段,开发的软件将不断测试错误。对于持续测试,使用诸如TestNG,JUnit,Selenium等自动化测试工具。这些工具使QA可以完全并行地测试多个代码库,以确保功能上没有缺陷。在此阶段,可以将Docker容器用于模拟测试环境。

Selenium进行自动化测试,TestNG生成报告。在称为Jenkins的持续集成工具的帮助下,整个测试阶段可以自动化。

自动化测试节省了执行测试所需的时间和精力,而不是手动执行。除此之外,报告生成是一大优势。评估在测试套件中失败的测试用例的任务变得更加简单。同样,我们可以安排在预定义的时间执行测试用例。经过测试,该代码将与现有代码不断集成。

4)持续监控

监视是一个涉及整个DevOps流程的所有操作因素的阶段,在该阶段中,将记录并仔细处理有关软件使用的重要信息,以发现趋势并确定问题区域。通常,监视被集成在软件应用程序的操作能力之内。

当它处于连续使用位置时,它可能以文档文件的形式出现,或者可能生成有关应用程序参数的大规模数据。此阶段解决了系统错误,例如服务器无法访问,内存不足等。它维护服务的安全性和可用性。

5)持续反馈

通过分析软件操作的结果,持续改进应用程序开发。这是通过在操作和当前软件应用程序的下一版本的开发之间放置持续反馈的关键阶段来实现的。

连续性是DevOps中的重要因素,因为它消除了将软件应用程序从开发中移除,使用它来发现问题并生成更好版本所必需的不必要步骤。它会扼杀应用程序可能带来的效率,并减少感兴趣的客户数量。

6)持续部署

在此阶段,代码被部署到生产服务器。同样,必须确保在所有服务器上正确使用该代码。

新代码不断部署,配置管理工具在频繁且快速地执行任务中起着至关重要的作用。以下是此阶段使用的一些流行工具,例如Chef,Puppet,AnsibleSaltStack

容器化工具在部署阶段也起着至关重要的作用。 VagrantDocker是用于此目的的流行工具。这些工具有助于在开发,登台,测试和生产环境中实现一致性。它们还有助于轻柔地放大和缩小实例。

容器化工具有助于在测试,开发和部署应用程序的环境中保持一致性。生产环境中不会出现错误或故障的机会,因为它们打包并复制了测试,开发和登台环境中使用的相同依赖项和程序包。它使应用程序易于在不同的计算机上运行。

7)持续运营

所有DevOps运营都基于连续性以及发布过程的完全自动化,并使组织能够持续加快整体上市时间。

从讨论中可以明显看出,连续性是DevOps的关键因素,它可以消除经常分散开发人员注意力,花费较长时间来发现问题并在几个月后生产出更好版本的产品的步骤。借助DevOps,我们可以提高任何软件产品的效率,并增加您产品中感兴趣的客户的总数。