Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >产品经理人的持续交付和DevOps实践

产品经理人的持续交付和DevOps实践

作者头像
MavenTalker
发布于 2023-03-10 12:54:36
发布于 2023-03-10 12:54:36
4190
举报
文章被收录于专栏:歪脖贰点零歪脖贰点零
如果你正处于下列情形中 ,那这篇文章是为你准备的:
  • 你目前身处技术行业,你是产品经理,并且,你明白特性分支是什么,CD代表什么,DevOps文化是什么样子的。
  • 或者,你已经在实施敏捷,团队每周都会与您的产品人员会面,讨论故事和迭代。他们合作良好,他们此时构建的感觉比以往任何时候都要好。但是您的客户仍然不能更快地获取这些功能,你依旧要要等待版本发布后才能使用。你可能已经听说过像Etsy,Flickr和Google这样的公司,他们每天交付100次,但他们是如何做到的呢?
  • 又或者,你的开发团队想要实现CI/CD,并且你也听说了一些美好的事情,你依旧关心期间的一些变数。那么CD到底是什么呢?

让我们从一些定义和例子开始吧。

Continuous Integration (CI),持续集成

在传统的软件开发过程中,整合过程通常在每个人完成工作后,在项目结束时进行。 整合通常需要数周或数月时间,很可能也会非常痛苦。持续集成是将整合阶段提前到开发周期的一种做法,以便构建,测试和集成代码更经常地发生。

持续集成意味着在不同的团队成员间在不同的环境中分别为相同的产品编写软件,并将它们的更改集成在一个称为源码仓库库的地方。针各自编写的零碎代码构建组合成一个整体的软件,并按照他们期望的方式工作。

开发人员经常采用一个被称做持续集成服务器的工具为他们做构建和集成的工作。持续集成要求团队成员必须有可以自测的代码,这些代码可以验证代码如预期版的正常工作,这些测试被称做单元测试。当代码集成后所有的代码单元测试通过,团队将会得到一个成功的构建结果。这表明他们验证过了各自的变更被成功的集成到一起,同时代码如测试时预期的一样工作着。虽然集成后的代码成功的在一起正常工作,但它没有准备好上生产环境,因为它还没有在模拟生产环境中进行测试和验证。你可以在下面的连续交付部分中阅读更多关于持续集成之后发生的情况。

图1

为了保持正确的持续集成实践,团队成员的代码变更必须经常提交到主要的源代码库,并频繁地集成和测试他们的代码。通常是一小时多次,但至少每天一次。CI的好处是使整合成为非必要的事件。软件一直处于被编码和集成中。在CI之前,整合发生在创建过程的最后,只一次发生,并且花费了不确定的时间; 现在有了CI,每天都会发生,并且仅需要几分钟。

Continuous Delivery (CD),持续交付

我们回到我们的开发团队,持续交付意味着每次对代码进行更改时,都会集成和构建代码,以便在与生产非常相似的环境中自动测试此代码。通常,部署管道环境具有开发环境、测试环境和模拟生产环境,但这些阶段因团队、产品和组织而异。 例如,我们的Mingle团队有一个叫做“Cupcake”的阶段,它是一个模拟生产环境,而Etsy的模拟环境被称为“Princess”。

图2

在每个不同的环境中,编码写的代码测试结果不同。这个过程对业务来说是非常有力的。 这意味着,如果单元测试通过了所有的环境验证,那么你知道代码在生产环境时很可能也会正常工作。 一旦测试在所有环境中通过,您就可以立即决定您的最终用户是否获得最新的功能。而且,一旦您的开发人员完成构建,就可以随时为客户提供全新的、经过全面测试的工作软件。

Continuous Deployment(CD),持续部署

图3

从上图可以清晰的看出,要实现持续部署,首先需要持续交付。持续交付的前提在CI的基础之上,但最终是否应用到生产环境中去,还是通过手动的方式来进行,持续部署真正实现了全自动部署更新发布。

DevOps

“DevOps”一词来自“开发”和“操作”一词的组合。 DevOps是一种促进开发人员和其他技术专业人士之间的合作的文化,具体来说,在软件交付和部署过程中的沟通和协作,目标是更快速,更可靠地发布更好的质量软件。具有所谓DevOps文化的组织的共同特点是:自主多才技术团队,高水平的测试和发布自动化(持续交付)和共同目标多面手成员。

传统方式的软件交付过程如下:

图4

采用持续交付部署路线后,演变成以下的方式,见下图。

图5

DevOps文化通常与持续交付相关联,因为它们旨在增加开发人员和运营团队之间的协作,并且使用自动流程来更快速、频繁、可靠地构建、测试和发布软件。

题外话:此文是SUZIE PRINCE发布在mindtheproduct网站上的文章,第一次尝试着意译过来,便于大家初识敏捷开发、持续部署及Devops之道,第一次翻译难免有疏漏,还望各位见凉,点击原文即可英文原版文章。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MavenTalk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
给产品经理讲讲,什么是持续交付和 DevOps
本指南适用于: 你在科技领域就职,是产品经理或者MBA。你的团队玩 A/B 测试,特性切换,你办公室里还有一条狗。 当然,你已经理解啥是功能分支,什么是 CD 以及 DevOps 文化是什么样子。对不?嗯,当然。 你已经走在敏捷的路上,工程团队现在每周都跟你的产品人员会面,讨论故事和迭代。他们协作良好,对构建的东西感觉也越来越好。 可你的客户仍然不能更快的获得这些功能。 你仍然得等着发行列车离开车站。你已经听到过像Esty, Flickr, Google 等这些公司每天能交付100次,他们咋做到的呢? 你
DevOps时代
2018/06/22
1.3K0
构建高质量的持续交付体系
前面的文章,聊了软件工程的基础理论、项目管理、需求分析、架构设计、软件测试以及线上服务的质量保障。其中在架构设计和线上服务的质量保障中,我也提到了关于持续集成持续交付相关的内容。软件工程的本质是用工程化的方法去规范软件开发,让软件开发项目可以按时保质完成的同时且成本可控。
老_张
2023/03/01
5370
构建高质量的持续交付体系
一文教你分清持续集成,持续交付,持续部署!
可以看出,持续集成的 核心 在于 确保新增的代码能够与原先代码正确的集成。与后续要介绍的持续交付以及持续部署,其最主要的差别也就在于其目标不同。
测试开发技术
2021/09/15
1.7K0
一文教你分清持续集成,持续交付,持续部署!
DevOps -测试内持续集成与持续交付
「持续集成(Continuous Integration)」、「持续交付(Continuous Delivery)」和「持续部署(Continuous Deployment)」提供了一个优秀的 DevOps 环境,持续集成(Continuous Integration)是Devops理念的一种实践过程,同时也是敏捷开发的具体表现形式。对于整个团队来说,好处与挑战并行。无论如何,频繁部署、快速交付以及开发测试流程自动化都将成为未来软件工程的重要组成部分。这里我们着重介绍持续集成过程中的测试自动化(Test Automation),如果测试没有实现自动化的话,那么整个持续集成是不完善的,同时也不是高效的。因此自动化测试是持续集成过程中的重要一环。
用户6367961
2019/09/30
1.9K0
DevOps -测试内持续集成与持续交付
CI/CD是什么?如何理解持续集成、持续交付和持续部署
CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”)。
小诸葛
2020/05/20
4.6K0
敏捷开发,持续集成/交付(CI/CD)、DevOps
敏捷开发和DevOps都是一种理念。他们的理念相似,都是为了更好更快的发布产品,但又不完全相同。
PM吃瓜
2020/08/17
1.8K0
敏捷开发,持续集成/交付(CI/CD)、DevOps
持续(集成-->交付-->部署)
由上图可知「持续集成(Continuous Integration)」、「持续交付(Continuous Delivery)」和「持续部署(Continuous Deployment)」这三个概念的区别是在软件开发流程中根据实现的持续化,自动化的阶段的不同来划分的。
翎野君
2023/05/12
7710
持续(集成-->交付-->部署)
DevOps,CI,CD,自动化简单介绍
  随着企业应用的不断迭代,不断扩大,应用的发布发布可能涉及多个团队,如pc端,手机端,小程序端等等。应用发布也就成为了一项高风险,高压力的超过过程,以及应用的开发迭代的沟通,测试成本也大大的变得不可控了。这时候就出现了DevOps管理理念,CI,CD以及强大的部署自动化手段确保部署任务的可重复性、减少部署出错的可能性。下面简单的描述一下这四者的基本概念。
追逐时光者
2021/01/18
1.2K0
101.精读《持续集成 vs 持续交付 vs 持续部署》
相信大家以前应该接触过持续集成(Continuous integration)持续交付(continuous delivery)持续发布(continuous deployment)的概念,下面我们来说说三者的差异以及团队如何入手 CI/CD。
黄子毅
2022/03/14
5100
101.精读《持续集成 vs 持续交付 vs 持续部署》
常识三持续集成、持续交付、持续部署
正如你在上图中看到,「持续集成(Continuous Integration)」、「持续交付(Continuous Delivery)」和「持续部署(Continuous Deployment)」有着不同的软件自动化交付周期。
码农戏码
2021/03/23
1.9K0
Agile, CI/CD,DevOps
随着DevOps理念的普及与扩散,可能会被一大堆名字概念搞的莫名其妙,理清它们之间的关系可以帮助团队知道DevOps如何落地,改善工作流程。
DevOps在路上
2023/05/16
2960
Agile, CI/CD,DevOps
DevOps & CI/CD Top 30+ 面试问题
希望这些问题和建议的答案能使你快速掌握DevOps和CI/CD的相关知识,帮助你在面试之前对DevOps和CI/CD有系统性的概念和理解。
Peter Shen
2020/06/12
5.8K0
DevOps & CI/CD Top 30+ 面试问题
从技术雷达看DevOps十年-DevOps和持续交付
2009年底,比利时根特举办了第一届DevOpsDays。Chris-Read作为嘉宾之一,代表ThoughtWorks出席了这次活动并带来名为“持续集成,流水线和部署”的演讲。ThoughtWorks作为DevOps运动最早的见证者和奠基人,并没有意识到这个周末聚会将在接下来10年给全球IT行业带来深远影响。
ThoughtWorks
2019/05/05
6870
从技术雷达看DevOps十年-DevOps和持续交付
DevOps、CI、CD都是什么鬼?
DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。具体来说,就是在软件交付和部署过程中提高沟通与协作的效率,旨在更快、更可靠的的发布更高质量的产品。
吾非同
2020/11/23
1K0
DevOps、CI、CD都是什么鬼?
持续测试、持续集成、持续交付、持续部署和DevOps
今天的组织应该彻底了解实施有效的测试自动化策略和持续测试策略之间的关键区别。采用持续测试方法当然是一种更好的方法,并且比传统的软件测试自动化更具优势。尽管有时这两个术语是同义词,但每个术语的功能和含义存在显着差异。
FunTester
2021/11/04
2.2K0
持续集成和DevOps基础
  持续集成(Continuous integration,简称CI),简单来说持续集成就是频繁地(一天多次)将代码集成到主干。
iTesting
2020/10/26
8980
持续集成和DevOps基础
自动化运维持续集成
原文:https://www.jianshu.com/p/94adb682ca6e
java思维导图
2019/07/09
9980
自动化运维持续集成
3分钟了解清楚持续集成、持续交付、持续部署
近些年来,持续集成、持续交付以及持续部署这几个热词总是在大家的眼前晃来晃去!在招聘信息和面试过程中也会经常提及!在这里我就用三分钟时间来带大家了解他们!
测试开发技术
2020/06/06
9990
3分钟了解清楚持续集成、持续交付、持续部署
云计算与DevOps: 持续集成/持续交付与市场分析
很多企业正在采用DevOps和持续集成/持续交付方法,以提高其规划、构建、测试和发布应用程序和特性的能力,从而以高质量和规模快速推向市场。调研机构IDC公司预计,到2022年,全球DevOps软件市场规模将从2017年的39亿美元增至80亿美元。
静一
2020/06/24
1K0
3.2.2 持续交付
春节前与同事讨论CD(持续交付)的技术方案,发现主流的技术方案是软件交付最后一公里的“AD”(自动化部署)。站在本系列文章提到四个关键价值的“提升交付速度”这个运维价值看,单纯的自动化部署主要将部署/回切工作从1小时提升到5分钟的效率能力上。而在端到端的IT交付价值链中,部署是其中一个节点,所提升的55分钟只占整个IT交付链路中的一部分,更大的消耗是在节点与节点之间的协同。所以,“持续交付”应该跳出“部署”,站在整个IT交付链路,关注节点的自动化、节点与节点之间的连接线,通过标准化、流水线、自动化、相关工具链打通等工程性工作的落地,提升整个IT效能。
彭华盛
2021/03/19
1K0
3.2.2 持续交付
相关推荐
给产品经理讲讲,什么是持续交付和 DevOps
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档