如何设置可靠的DevOps生命周期?

2022-10-04 15:03:46 浏览数 (2)

了解DevOps生命周期的不同阶段以及使用哪些工具 原文链接:https://betterprogramming.pub/how-to-set-up-a-solid-devops-lifecycle-e3bd1456201

DevOps是将IT开发和运营结合在一起的一组实践。它主要是为了减少提交变更和生产变更之间的时间。这些实践促进了开发人员和运营工程师之间的协作,因此可以实现连续的软件交付,而解决的挑战不那么复杂,并且可以更快地解决所出现的问题。

DevOps生命周期可以分为多个阶段:

1. 开发阶段

Plan 计划

计划阶段包括在开始实际编码之前发生的所有活动。通常,软件公司会根据其产品愿景和客户反馈来制定产品路线图。路线图可以分为史诗,功能和用户故事。用户案例说明了功能,涉众以及预期的输出。DevOps团队通常会记录产品路线图,并使用软件工具为每个用户故事设置重要性和预计的实施时间。

流行的代码计划工具:

  • Jira
  • Azure DevOps
  • Asana

Code 代码

对于编码,可以使用多种不同的编码语言和IDE。IDE代表集成开发环境,通常包括源代码编辑器,构建自动化工具和调试器。一些最受欢迎的编码语言包括Python,Java和JavaScript。

为了维护代码,通常使用版本控制工具,例如Git,GitHub和Bitbucket。这些工具还被广泛用于促进开发和运营团队之间的沟通,对于确保DevOps团队内部的沟通至关重要。

流行的IDE:

  • PyCharm
  • Visual Studio
  • Eclipse

Build 构建

构建代码包括生成可执行文件所需的所有步骤。这些过程中最重要的过程之一就是编译代码,这就是将源代码转换为机器代码。通常是构建代码一部分的其他过程是执行测试(例如,单元测试,集成测试等),打包,运行运行状况检查以及生成报告。

流行的构建工具:

  • Ant
  • Maven
  • Gradle

Test 测试

DevOps团队构建代码后,通常会将代码部署到暂存环境中。在此执行一组手动和自动测试。可以使用Selenium,TestNG或JUnit之类的工具来完成自动测试,而Docker容器通常用于模拟测试环境。Jenkins是一个持续集成工具,可以使整个测试过程自动化。

流行的测试自动化工具:

  • Selenium
  • TestNG
  • JUnit

2. 部署阶段

Release 发布

发布是DevOps生命周期中准备部署代码的阶段。至此,代码已经通过了一系列手动和自动测试,并且团队应该确信在部署到生产环境时不会出现任何问题。

根据使用的工具和设置的原则,一些组织在发布阶段添加了手动批准过程。这样做是为了仅允许组织内的某些人员授权发布到生产中。

Deploy 部署

部署是将变更从一种环境推向另一种环境的过程。通常,这是在将产品推入生产时使用的短语。部署构建后,就可以在实时生产环境中查看更改。

  • Jenkins
  • Spinnaker
  • ArgoCD

3. 运营阶段

Operate 运维

将代码部署到生产环境后,确保一切按预期运行非常重要。此外,运营团队通常会进行技术和基础架构管理,并与客户进行互动,以确保产品能够满足他们的需求。在进一步开发产品时,客户洞察力也至关重要,并且在计划阶段应将其考虑在内。

Monitor 监控

在监控阶段(这是DevOps生命周期的最后阶段),DevOps团队将监控解决方案。这包括收集有关客户行为,性能,错误等的数据。分析数据以获得洞察力,然后将其用于支持决策。

当DevOps团队随后重新开始DevOps生命周期时,在运营阶段收集的所有信息和见解至关重要。对于DevOps团队,通常没有起点或终点,而是产品的不断发展。

  • Prometheus
  • Zabbix

4. CI/CD

CI / CD包括持续集成,持续交付或持续部署。

持续集成是提交,构建和测试代码的过程。它是DevOps生命周期的核心。鼓励开发人员频繁提交代码,然后构建每次提交以允许及早发现问题。Jenkins是最常用的持续集成工具之一。

持续交付是持续集成的扩展。除了提交,构建和测试代码外,它还包括将代码更改部署到测试和/或生产环境。重要的是要注意,部署到生产环境是手动阶段,其中其他大多数阶段都是自动化的。

持续部署比持续交付要走的更远。对于连续部署,到生产的部署也将自动进行。

0 人点赞