EASYOPS系列|谨慎!勿让持续交付变成bug自动化发布
你的持续交付能力用得还好吗,比如频繁发布移动或云应用的特性增强?还是恰好相反,快速发布了带漏洞的版本? - Joel Shore
持续交付能让交付流程跑得更快,但持续交付本身并不能为发布质量打包票。国外基于Jenkins持续集成和持续交付平台的某技术提供商认为,如果发布质量没有得到一定程度上的保障,软件交付在速度上的快慢变化都没有太大意义。
随着DevOps兴起以及新时代下的行业竞争日趋白热化,开发敏捷性和交付速度渐渐跑到能力新高峰,但大家仍越来越需要更快速交付高质量软件。位于加州的提供商CEO Sacha Labourey在接受我们专访时谈到了持续交付的新发展以及他的担忧。
云和移动应用是怎么样改变着持续软件的交付规则?
Labourey:我们正经历一段有趣的时光。我们认为IT行业应当加快开发和交付周期,来顺应这个时代的要求。移动应用开发中,DevOps能让你从故障发现和快速失败中受益匪浅。云应用同理,它们都实现了发现过程和利用资源加速交付的能力。
你认为DevOps扮演着重要角色吗?
Labourey:我们在很多组织中发现,许多公司并非被迫投入去做DevOps或持续集成。大家都认为移动需求大就做了移动应用,云需求大就做了云功能。问题是企业得学会预见技术的竞争战场,清楚怎么样才能快速改变和建立最佳实践。也只有产生了类似念头的时候,他们才会意识到当下要做的事已不同往昔那样随波逐流。
我们与很多开发团队和DevOps团队讨论过,以便帮助普通企业能寻求到一些突破。讨论结果大致是这样:DevOps已经不单是IT系统在效率上的提升问题,而涉及到了将企业发展目标纳入应用开发和交付的过程。许多企业仍然对这些变化视而不见,但转型已经开始,避无可避,且势不可挡。
DevOps团队软件持续交付方面最常见的错误是什么?
Labourey:不劳而获就想解决困难才是最常见的错误。即使是新开的项目,也会面临一些棘手的难题。代码自动化构建实现起来很容易,难的是对项目做出恰到好处的测试、配置、部署,而想做到这些,就需要DevOps团队投入。当团队没有决心做好这件事,结局就是得到一个被戏称为“发布bug颇有效率的过程”。
这么说,那岂不是持续交付软件产品,在某种情况下就是为了更快地发布bug?
Labourey:小步快跑的发展节奏没有问题。我们讨论业务节奏加快的可行性需要在速度与稳定安全找到个平衡点。改变迭代速度并不是说你写代码的速度一下子就提高了,这个要适可而止,换个说法:“更接近预期的安全速度”,这种描述可能更适合,对吧?以更短周期做出新版,看看哪些起作用,哪些不起作用,然后再决定具体的迭代方式。
软件持续交付怎样与DevOps在总体上做到互相配合?
Labourey:首先,DevOps是一条好路子。原先那帮支持DevOps和敏捷开发的人都应该自豪,这点让人想起了上世纪90年代的开源思潮。不过,那时候的那群人基本都是不care企业生产概念的理想主义者。
就像Linux甚至今天的Microsoft,这些都彰显着开源世界的胜利。开发方法论也是这样。以前的发布周期都很长——都要好几年。在21世纪初,敏捷开发那帮人根本感受不到关键软件对在生产过程中运行关键应用的意义。当下,如果你没有最起码的敏捷开发或更进一步的团队DevOps规划,你就是迟到了,毕竟每家公司都应该懂得从软件生产中创造商业价值。
你怎么向不了解DevOps持续交付的开发人员阐述这些道理?
Labourey:显然,如果你还没有移动化应用的持续交付流程,那这本身就是个bug…如果有针对云平台的软件持续交付过程就更好了。你有弹性资源,有平稳的软件更新能力,甚至还有实现云端软件交付的成熟方式,这些能力如果放着不用,那简直太不明智了。这个有点像很多上云的公司只把云当作自己的数据中心,这就有点大材小用了。
转载于:https://my.oschina.net/easyops/blog/880817
EASYOPS系列|谨慎!勿让持续交付变成bug自动化发布相关推荐
- 在持续交付中加入自动化验收测试支持
自动化验收测试是持续交付测试策略十分关键的一环,它为开发者们洞察系统行为提供了一个重要而不同的视角.Dave Farley提出,保持验收测试持续运行和通过率是开发者们的责任,而不能依靠另外的QA团队去 ...
- 持续交付模型中文化转型的重要意义
为了加速业务创新,技术领导者正在向持续交付和敏捷靠拢. \\ CIO.com的资深作家Clint Boulton,最近写了一篇新闻分析Agile,continuous delivery models ...
- 为什么携程要做好持续交付?
随着云计算.容器等新兴技术的发展,"持续交付"这个老生常谈的问题,忽如一夜春风来,仿佛找到了从理想通向现实的大门.各类相关工具.产品.服务,也是纷纷出现:如Jenkins 2.0, ...
- ci持续集成工程师前景_不要忽视持续集成(CI)/持续交付(CD)的13个优势
原标题:不要忽视持续集成(CI)/持续交付(CD)的13个优势 持续集成(CI)/持续交付(CD)是现代软件开发周期的基础,人们需要了解持续集成(CI)/持续交付(CD)和其管道实施的所有好处. 在传 ...
- 【DevOps研发管理方案】四:持续集成 持续交付
目录 一.持续集成 1. 构建触发规则 2. 构建初始化 3. 构建目录 4. 全量构建 5. 构建配置 二.持续交付 1. 部署与发布模式 2. 持续部署流水线 3. 参数配置 一.持续集成 1. ...
- 谈谈企业的持续交付流水线设计
有一天,业务人员急冲冲的跑过来,对你说生产上出现了一个严重BUG,必须要尽快修复.你听完问题描述后,胸有成竹坐定并迅速定位问题,随后改动了一行代码并提交,系统开始自动编译.各个环境自动化测试.发布上线 ...
- 任发科:DevOps的前世来生,从《目标》、《凤凰项目》到《持续交付》
本文来自作者 常新居士(任发科) 在 GitChat 上分享「从<目标>.<凤凰项目>到<持续交付>:DevOps 的过去.现在及未来」. 计算机科学中的任何问题都 ...
- 适用于Java开发人员的微服务:持续集成和持续交付
1.简介 如果我们回顾与微服务体系结构相关的众多挑战,确保每个微服务都能够与每个对等方说正确的语言可能是最困难的挑战之一. 我们最近谈论了很多关于测试的话题,但是总是有机会让bug潜入.也许是合同的最 ...
- 云原生 (Cloud Native) = 微服务 + DevOps + 持续交付 + 容器化 ?
目录 什么是云原生? 云原生之前 云原生 云原生简介 微服务 DevOps 持续交付 容器化 云原生的发展历程 云原生技术生态现状 云原生基金会 -- CNCF 云原生技术社区 云原生技术产业 我们正 ...
最新文章
- orcal 忘记用户名和密码
- oracle如何删除可回收归档,Oracle正确删除归档并回收空间的方法
- Java并发编程(1):可重入内置锁
- Server.MapPath(path)的使用
- 我学员的一个问题及其我对之的解答,关于lr返回值问题
- 密码程序python_Python获取web密码程序的脚本源代码
- 【Android开发】XML文件解析
- Selenium自动化测试IE
- [swift] LeetCode 206. Reverse Linked List
- vue2.0+echarts可视化图形开发中遇到的问题总结
- 总结篇——git本地仓库上传更新到github
- 算法导论第三版 第4章习题答案
- 《Python编程从入门到实践》笔记吐血整理
- python中os库是标准库还是第三方库_Python os 标准库使用
- URAL 1099 Work Scheduling
- access 套用表格_Word表格编辑技巧:在Word中使用Access的数据-word技巧-电脑技巧收藏家...
- iOS静态库和动态库
- 宇视阿宇摄像机夜间效果好吗?画面可以看清楚吗?
- 高中信息技术项目化教学开题报告
- 老板们这些股权结构需要优化了