什么是持续交付?

📝 ✏️ 📌
什么是持续交付?

什么是持续交付?

持续交付 使开发团队能够自动化软件在开发生命周期中的移动。

持续交付可以在配置集成工具箱时提供许多好处,包括:

通过持续测试和开发缩短部署时间。

降低与传统软件开发相关的成本。

根据项目规模确定软件开发规模。

将代码自动部署到开发周期的每个阶段。

持续交付最佳实践

在使用持续交付时,您可能需要考虑以下一组最佳实践:

使每次变更都可发布:如果通过持续交付使每次变更都可发布,出于审核目的,您必须包含用户文档、操作手册以及有关变更内容的信息。

采用基于主干的开发:持续交付建立在持续整合之上。尽可能避免延迟整合的分支,以便每次变更都能与集成体一起构建、测试和部署,以获得最快的反馈。

通过自动化管道交付:要成功实现持续交付,您需要一条构建良好的自动化交付管道,确保所有代码版本以一致的方式进入测试和生产环境。

尽可能自动化:在持续交付中,您必须在软件开发生命周期中自动化尽可能多的流程。这种自动化创建了一个良好、可靠的 Delivery Pipeline,不仅适用于代码构建和部署,还适用于创建新的开发环境。

目标是不停机:为了在进行频繁、持续交付更新的同时确保应用程序可用性,您在将新功能推送到生产环境时,必须首先进行验证,然后再部署到公共运行的应用程序实例中。

以测试粒度发布:系统的两个部分如果必须一起测试,那么也必须一起发布,以便您知道系统各个部分是兼容的。发布自动化工具擅长协调这种交付。另一方面,也可以完全解耦。

在云端保持清醒头脑

获取每周 Think 时事通讯,了解有关在 AI 时代优化多云设置的专家指导。

立即订阅

持续交付的连续管道/框架

为了利用持续交付的优势,您还需要持续框架的其他元素,例如持续探索、持续集成、持续部署和按需发布。

使用持续交付管道阶段时,您应该将这些阶段划分为各个作业,也即阶段内的执行单元。

构建作业:在构建作业中编译项目,为部署做准备;您可以在构建作业中生成可发送到构建归档目录的工件。

部署作业:将项目作为可通过 URL 访问的应用程序上传到持续交付管道。部署后,可在仪表板上查看项目。

测试作业:根据单元测试套件或第三方测试服务的功能测试,在构建和部署作业之前或之后自定义并纳入测试作业。

持续交付管道可以帮助开发团队:

自动化构建、单元测试和部署。

使用 Git 存储库、问题跟踪和基于 Web 的 IDE(集成开发环境),编辑和推送代码。

创建集成型 DevOps 开发运维工具箱,利用您的服务、开源工具和第三方工具,构建、部署和管理应用程序。

从您选择使用 IDE 来创建、编辑、运行、调试和完成源代码管理任务的任何位置编辑代码。

使用自动化管道以可重复的方式持续交付构建、测试和部署。

通过了解构建状态、安全扫描结果、代码覆盖率和测试覆盖率来提高质量,以便评估是否将应用程序提升至下一个环境(通过策略闸门在提升前自动保证质量)。

IBM DevOps

什么是 DevOps?

Andrea Crawford 阐述了什么是开发运维、开发运维的价值,以及开发运维实践和工具如何帮助您完成从应用程序构思到生产的整个软件交付管道。本课程由 IBM 资深思想领袖主导,旨在帮助企业领导者获得所需的知识,以优先考虑能够推动增长的 AI 投资。

深入了解 DevOps 开发运维

持续部署与持续交付

持续部署可以是持续交付管道的一部分。具体来说,持续交付是代码在整个开发生命周期(有时称为交付生命周期)中的自动化移动。持续部署是指该代码在通过所需的自动化测试后自动将其移至生产环境中。

是否将持续部署作为交付管道的一部分取决于您的业务需求。如果业务需要交付团队重复、可靠或尽快地将新的或更新的软件发布到生产中,或者如果解决方案具有多个依赖项,那么您可能会从持续部署中受益。

有关持续部署和持续交付之间差异的更多信息,请观看此视频:

持续交付工具

通过持续交付工具,您能够使用开源工具来构建、部署和管理应用程序。通过集成工具集,您能为开发团队和运营团队创建可重复且可管理的任务。

您的工具箱可以包括当前的云服务、开源工具和第三方工具,但您还需要考虑一种持续交付工具,其中包括:

用于构建和部署自动化的可重复模板:如果适合您的某个应用,那么也应该适合其他应用。不要让每个团队都为配置而苦恼。

满足下列条件的管道:在推送变更时自动构建,部署到云,将构建和部署合并到工具链中,管理跨工具链的部署。

用于团队协作、规划、源代码管理和测试的工具。

仪表盘:能够显示团队在哪里进展迅速、在哪里陷入困境,从而为变得“更加持续”提供指导。

有助于构建强大的持续交付管道的开源持续交付工具包括 Jenkins、Concourse CI、Spinnaker、Travis CI、GoCD 和 GitLab CI。

敏捷和 DevOps

敏捷持续交付

以前,您只发布一次软件,然后不断更新。那时,您只在开始和结束时咨询客户,了解软件是否满足客户需求。

敏捷是一种按照持续交付计划在短迭代中生产软件的方法。当今敏捷的持续交付流程意味着您可以在每个定义的功能可用时向客户发布代码。敏捷开发和持续交付是在生产就绪后立即向客户提供功能的关键。您的目标是在每项功能在退出管道时即可发布。

DevOps 和持续交付

几十年来,软件开发经历了重大变化,从标准的瀑布概念转向更高效的敏捷方法。为了适应这一趋势,您需要采用聚焦敏捷、DevOps 和持续交付三大流程的方法。作为持续交付管道的一部分,这些流程可实现更可靠、更高质量的软件发布和更新。

通过敏捷开发进行更快速、更小的软件发布时,您将更加关注软件开发的各个阶段。同时,DevOps 让您的注意力集中在“大局观”和文化变革上。这种方法将开发和运营紧密合并为一个团队中。该团队致力于从编码到测试、从部署到支持的整个软件开发生命周期。

🔗 相关推荐

✨ 💡 🎯
米换算厘米
365买球怎么玩

米换算厘米

📅 06-30 👀 1647
梦想庄园
365买球怎么玩

梦想庄园

📅 07-12 👀 3183
暴走英雄坛生孩子攻略 暴走英雄坛生孩子要多久