速来报名!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:002144

评论

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

Kubernetes 网络排查骨灰级

CTO技术共享

SpringBoot数据库管理 - 用Liquibase对数据库管理和迁移?

Java快了!

数据库 spring-boot

跟着卷卷龙一起学Camera--CameraService

卷卷龙

ISP 9月月更

Plato Labs推出的SeedX,公测15天570万美金净利润

鳄鱼视界

Cryptocell-712安全引擎概述

Java-fenn

Java

户外LED广告屏如何才能保养好?

Dylan

LED显示屏 led显示屏厂家

向量数据库入坑:入门向量数据库 Milvus 的 Docker 工具镜像

Java-fenn

Java

基于.NET6的简单三层管理系统

Java-fenn

Java

终于懂了,RPC和OpenApi的区别

知识浅谈

RPC OpenAPI 9月月更

【Vue3】 评论列表(简易)-- 思路与实现分析

Sam9029

JavaScript Vue Vue3 9月月更

C++学习---cstdio的源码学习分析02-文件删除函数remove

桑榆

c++ 源码阅读 9月月更

COSI:使用 Kubernetes API 管理对象存储

Java-fenn

Java

pod(一):Kubernetes(k8s)创建pod的两种方式

Java-fenn

Java

从 ABAP Netweaver 到 ABAP Platform,我们一直在努力

汪子熙

SAP abap Netweaver 企业级应用 9月月更

阿里前端常见面试题总结

loveX001

JavaScript 前端

MyBatis-Plus(三、增删改查)

MySQL MyBatisPlus 9月月更

Java程序员:为了跳槽刷完1000道真题,没想到老板直接给我升职了!

收到请回复

Java 云计算 开源 架构 编程语言

继GitHub的Copilot收费后,亚马逊推出了 CodeWhisperer,感觉不错哟!

Python猫

Python

腾讯云数据库自研内核全新升级 新架构比原先性能提升20%

Java-fenn

Java

羊了个羊”通关修改思路

Java-fenn

Java

Elasticsearch聚合学习之四:结果排序

程序员欣宸

elasticsearch 9月月更

MySQL 如何查找删除重复行

CTO技术共享

npm,pnpm,yarn,npx的那些事儿

Java-fenn

Java

整理的5种Linux 安装包管理工具

CTO技术共享

担心今年的金九银十收不到满意的offer?这份18位阿里架构师耗时60天整合的面试总结太香了!

收到请回复

Java 云计算 开源 架构 编程语言

算法、算力、数据,AI落地现在还需要AI工程化

Java-fenn

Java

Java 多线程:并发编程的三大特性

Java快了!

Java多线程

只要32天就能拿下Offer?框架+性能优化+微服务+分布式,Java程序员必备!

收到请回复

Java 云计算 开源 架构 编程语言

Java进阶(二十三)java中long类型转换为int类型

No Silver Bullet

Java 类型转换 9月月更

一个不错的开源项目风控引擎(Radar)

Java-fenn

Java

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