前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >总是签入代码到master有那么恐怖吗?

总是签入代码到master有那么恐怖吗?

作者头像
ImportSource
发布2018-12-19 10:44:13
6400
发布2018-12-19 10:44:13
举报
文章被收录于专栏:ImportSourceImportSource

读《微服务设计》一书,其中一章讲到了持续集成,也就是CI(Continuous Integration)。其中介绍了一个有趣的问答故事。有个叫Jez Humble的人经常四处演讲,在讲解有关CI内容的时候,他总是喜欢问在场的人三个问题:

1、你是否每天都签入代码到master?

2、你是否有一组测试来验证签入master的修改代码?

3、当构建失败时,团队是否把修复CI当做第一优先级的事情来做?

只要回答了三个yes的人,那么恭喜你,你的团队正在使用CI。否则就不算是完全的CI。

这三个要求,在部分朋友看来是比较难做到的,甚至认为这是不对的。也许会有人会有这样的疑问:master怎么可以随便签入呢?

也许就是因为这一个疑问,就让很多人望而却步。

然而事实上,总是签入代码到master有很多的好处。这个好处是相对的。就是你不总是签入和总是签入二者哪个麻烦更少。通过这样的比较如果得出“总是签入”的麻烦更少的话,那么我们就认为“总是签入”是推荐的。

我之所以推荐CI,一个很简单的原因就是我不想总是建分支。老实讲,我对分支是有恐惧感的。我不知道一个持续时间很长的分支最后到底会回报我一个多大的礼包(bug列表)。

持续不断把代码集成到master,甚至直接使用主干开发会带来诸多的好处,这样做足够的敏捷和高效,而且事实上要比以分支为主的开发质量更高。

CI具有的特性:

  • 只有一个Repository
  • 自动build
  • 自动测试
  • 每个人至少每天提交代码到主干
  • 每次commit都应该在一个集成机器上build主干
  • 短时间修复构建遇到的问题
  • 保证短时间内可完成build和test
  • 测试是在一个线上环境的模拟版上进行(预发布环境)
  • 让所有人都可以容易的得到最新的可执行代码和文件
  • 每个人都可以知道代码最新的状态
  • 自动部署

下面这个activitiy图是我从gitlab上截的,其中有一天居然commit了72次,注意这还是我一个人一天的提交数量。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档