AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

Outbrain 经验分享之持续部署实践

  • 2012-07-11
  • 本文字数:835 字

    阅读完需:约 3 分钟

Outbrain 已经采用了持续部署系统,该公司前资深工程师 Ran Tavory 在他的博客介绍了实践过程,他们是怎么做的,有哪些收获。

首先, Ran Tavory 提到确立敏捷企业文化的重要性:

“到目前为止我们认为,成功实施持续部署的核心一半是文化因素,一半是技术因素。有人问我什么更重要,文化还是工具,当然,我认为文化更重要,但是工具能正确地确立这种文化。”

Ran Tavory 分享了 Outbrain 采取的 3 项促进企业文化转型的技术措施:

首先,不允许创建分支,要求主干代码随时都可以用来部署生产环境,所有人都要把主干作为开发目录,只允许创建标签 (tag),没有分支,所以也不需要合并,不需要两次提交;要在一个最小的原子变更完成编译、自动化测试等工作之后尽快将代码提交到主干上,不要超过一天才提交,最好每小时提交一次;如果代码还不准备发布,可以使用标识位来隐藏代码,可以通过 URL 参数或服务器配置来打开功能,从概念上说,它与分支类似,一旦代码全部发布就取消标识位。

其次,建立完善的自动化测试和基础设施测试,这是持续部署关键支柱。自动化测试必须快,Outbrain 的测试周期是 5 分钟完成一次测试。

最后,监控、自检测试、服务状态要可视化。Outbrain 有一个版本页面列出了所有服务库的版本,以及一个自检页面,可以通过一系列内部接口(如连接数据库、连接其他服务等)调用就可以检测并能够返回成功状态。

Ran Tavory 介绍了一些工具来实现持续部署:

  • 通过 CHEF 实现基础设施的自动化;
  • 通过 GLU 实现部署;

另外他还提到了服务组件化,让破坏和错误的影响最小,让回滚操作更方便。在博文中,Ran Tavory 还列举了实例说明 Outbrain 的持续部署实现。整体来说,整套系统简化了部署过程,节约了大量的开发时间。

作者简介

李新,新浪产品部高级配置管理工程师,有丰富的软件流程方面的经验。


感谢黄玲艳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-07-11 00:002402

评论

发布
暂无评论
发现更多内容

云渲染动画价格一般多少?

Renderbus瑞云渲染农场

云渲染 云渲染价格

Git遇到冲突?解决也太简单了!

Jackpop

Smart Finance成为火必投票竞选项目,参与投票获海量奖励

鳄鱼视界

一加11:新的赛场,“不温和”的答卷

脑极体

干掉 “重复代码”,这三种方式绝了!

风铃架构日知录

Java 程序员 码农 工程师 代码

Kyligence 客户案例“泰康集团精细化经营分析与运营平台”获评数据智能最佳实践案例

Kyligence

数据分析 指标管理

Flutter Hero 动画组件的飞行过程显示控制

岛上码农

flutter ios 安卓 移动端开发 跨平台开发

创作技术博客以来的一些成就

嵌入式视觉

知乎 博客 CSDN 博客园

8.3K Star!这才是我们苦苦寻找的PDF阅读器。。。

Jackpop

企业专用的即时通讯产品如何选择?

BeeWorks

Apipost——让前端、后端、测试共用一份API文档!

不想敲代码

Apipost接口自动化测试功能详解

测试人生路

Postman 自动化测试 接口自动化测试

连续四年发布科技趋势预测,他们在探索中国科技的“主干道”

脑极体

EditText(输入框)详解

芯动大师

android edittext 输入框设计 文本框(TextView)

高并发系统设计的15个锦囊

小小怪下士

Java 程序员 系统设计 高并发

阿里云张献涛:无影,让计算触手可及

云布道师

无影云电脑

Java学习者看过来!这些优质项目千万别错过

Jackpop

如何使用Gradle构建一个多模块项目?

风铃架构日知录

Java 程序员 后端 码农 架构师

2022 OpenMLDB 硕果累累,颁奖台上荣耀连连

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

性能测试技术笔记(三):如何设计一个压测平台

老张

性能测试 压测平台

Github上有什么好的unity开源项目?

Jackpop

数字人民币创新浪潮来袭,支付机构如何“乘风破浪”?

易观分析

金融 数字人民币 数字支付

推动GameFi走向新叙事的Smart Finance,成为火必投票竞选项目

股市老人

如何告别丑陋判空?一个Optional类就能搞定!

风铃架构日知录

Java 程序员 程序人生 后端 码农

科技创新实力受认可,网易有道入选 2022 中国技术品牌影响力企业榜

有道技术团队

技术 数据分析

WorkPlus平台多业务系统集成,让企业沟通协作更畅通

BeeWorks

好家伙!阿里最新SpringBoot进阶笔记涵盖了SpringBoot所有骚操作

程序员小毕

程序员 后端 ssm springboot java面试

CMD有哪些有趣的命令?

Jackpop

Python专属搜索引擎!又一款Python库学习神器?

Jackpop

2023-01-06:给定一个只由小写字母组成的字符串str,长度为N, 给定一个只由0、1组成的数组arr,长度为N, arr[i] == 0表示str中i位置的字符不许修改, arr[i] ==

福大大架构师每日一题

算法 rust Solidity 福大大

Outbrain经验分享之持续部署实践_研发效能_李新_InfoQ精选文章