以前,我们
故事
持续交付一词可以追溯到
2010 年,Jez Humble 和 David Farley 发行
该书出版后,这种方法开始流行,并在短短几年内几乎被普遍接受。 根据
现在这种方法仍然是最流行的方法之一。 根据 2018 年 IT 社区 DevOps 和 Jenkins 社区参与的一项研究,
持续交付如何运作?
CD 基础是代码部署的准备情况。 为了完成此任务,使用了准备软件发布过程的自动化。 它应该是跨不同开发环境的标准,这将有助于快速找到薄弱环节并进行优化。 例如,加快测试速度。
持续交付流程的示例如下所示:
如果持续集成方法负责前两个阶段的自动化,那么持续交付则负责后两个阶段。 除其他外,通过系统确保过程稳定性
对该过程提出以下要求:
- 有关准备进入生产环境和准备立即发布的信息的可用性(CD 工具测试代码并可以评估发布中更改的效果)。
- 对最终产品全面负责。 产品团队 - 经理、开发人员、测试人员 - 考虑结果,而不仅仅是他们的职责范围(结果是可供产品用户使用的工作版本)。
在 CD 中通常使用
有什么好处
持续交付有助于简化代码部署,这对生产力产生积极影响并降低员工倦怠的可能性。 最终,这降低了总体开发成本。 例如,CD 帮助了 HP 团队之一
此外,根据 2016 年的一项研究(第 28 页)
另一个优点是发布速度加快。 芬兰开发工作室的持续交付
潜在的困难
第一个也是主要的问题是需要重建熟悉的流程。 为了展示新方法的好处,值得逐渐切换到 CD,而不是从劳动密集型应用程序开始。
第二个潜在问题是大量的代码分支。 “分支”的后果是冲突频繁,进一步浪费大量时间。 可能的解决方案 - 方法
特别是,在一些公司中,主要的困难是测试 - 需要太多的时间。 测试结果通常必须手动分析,但可能的解决方案可能是在 CD 实施的早期阶段并行化测试。
您还应该培训员工使用新工具 - 初步教育计划将节省开发人员的精力和时间。
/flickr/
工具
以下是一些持续交付的开放工具:
光碟 — 用于 Java 和 JRuby on Rails 持续交付的服务器。 允许您控制整个应用程序交付过程:构建-测试-发布。 该工具根据 Apache 2.0 许可证分发。 你可以在官方网站上找到它设置指南 .Capistrano的 — 用于创建脚本的框架,可自动部署 Ruby、Java 或 PHP 中的应用程序。 Capistrano 能够通过 SSH 连接到远程计算机来执行命令。 与其他持续集成和交付工具配合使用,例如 Integrity CI 服务器。摇篮 是一个多平台工具,可以自动化整个应用程序开发周期。 Gradle 可与 Java、Python、C/C++、Scala 等配合使用。与 Eclipse、IntelliJ 和 Jenkins 集成。无人机 - Go语言的CD平台。 无人机可以部署在本地或云端。 该工具构建在容器之上,并使用 YAML 文件来管理它们。三角帆 — 多云系统中持续代码交付的平台。 该工具由 Netflix 开发,谷歌工程师在该工具的开发过程中发挥了重要作用。 安装说明在官方网站上找到它 .
在我们的企业博客上阅读什么:
来源: habr.com