CI简介和实际应用

CI简介和实际应用

什么是CI

引用知乎上的一个回答

作者:赵劼
链接:https://www.zhihu.com/question/23444990/answer/26995938
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。

这种做法的核心思想在于:既然事实上难以做到事先完全了解完整的、正确的需求,那么就干脆一小块一小块的做,并且加快交付的速度和频率,使得交付物尽早在下个环节得到验证。早发现问题早返工。

举个例子,你家装修厨房,其中一项是铺地砖,边角地砖要切割大小。如果一次全切割完再铺上去,发现尺寸有误的话浪费和返工时间就大了,不如切一块铺一块。这就是持续集成。
装修厨房有很多部分,每个部分都有检测手段,如地砖铺完了要测试漏水与否,线路铺完了要通电测试电路通顺,水管装好了也要测试冷水热水。如果全部装完了再测,出现问题可能会互相影响,比如电路不行可能要把地砖给挖开……。那么每完成一部分就测试,这是持续部署。
全部装修完了,你去验收,发现地砖颜色不合意,水池太小,灶台位置不对,返工吗?所以不如没完成一部分,你就去用一下试用验收,这就是持续交付。
--------------------
补充:从敏捷思想中提出的这三个观点,还强调一件事:通过技术手段自动化这三个工作。加快交付速度。

还有些细节可以参考阮一峰的文章

阅读更多
Windows下调试平板设备

Windows下调试平板设备

本文主要记录Android上的Chrome和IOS上的Safari浏览器的调试方法,方便以后查看。开始之前请自备梯子,下面会需要翻墙。

阅读更多
利用firebase打造极速静态博客

利用firebase打造极速静态博客

之前博客一直是做的动态的,后台页面,添加博文,然后保存后查看博文。但最近VPS感觉不稳定加之价格有点小高(主要是穷),打算将vps上的所有东西都放在云端,使用免费资源(还不是因为穷)。第一步就是从博客开始。

阅读更多
闲置树莓派捣腾记

闲置树莓派捣腾记

手上有一个树莓派,之前装个openelec看看视频什么的,后来因为一些原因废弃了。本来打算做私有云的,但是树莓派做私有云可能有些力不从心,等安定了后再捣腾私有云吧,到时可能黑群晖,也可能白群晖,也可能其它方案,都还不一定呢。现在先拿来玩耍玩耍做个共享弄个开源ownCloud还是可以的。废话不多说,进入正题。

阅读更多
Atom前端开发配置

Atom前端开发配置

Atom开发插件集合

2017-03-21更新,去除不常用的插件
2017-08-31更新,添加highlight-selected插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
apm list
Community Packages (28) /Users/erguotou/.atom/packages
├── Stylus@3.1.0
├── atom-beautify@0.29.17
├── atom-material-ui@1.3.9
├── autoclose-html@0.23.0
├── busy-signal@1.3.0
├── docblockr@0.9.3
├── editorconfig@2.2.2
├── emmet@2.4.3
├── file-icons@2.0.17
├── highlight-selected@0.13.1
├── intentions@1.1.2
├── language-gitignore@0.3.0
├── language-vue@0.21.2
├── linter@2.1.0
├── linter-eslint@8.1.4
├── linter-htmlhint@1.3.2
├── linter-ui-default@1.2.1
├── local-history@4.0.1
├── minimap@4.26.8
├── minimap-highlight-selected@4.5.0
└── pigments@0.39.1

└── (empty)
阅读更多

NodeJs分享

技术分享以及项目实践

目录

  • 起源
  • 特性
  • 发展
  • 影响
  • 安装
  • 生态圈
  • 项目应用
阅读更多

Git迁移记录

背景

之前公司的Git服务器是用的Gogs,当时安装时选择的是tidb数据库。后来发现tidb数据库无法使用ssh服务(更改为其它数据库是可以的),但是我们的开发过程中有很多命令行的一些操作,导致每次使用命令时都需要输入用户名和密码,很麻烦,所以想改下数据库,然后使用ssh://格式的Git仓库。

阅读更多

mp4视频实现边下载边播放

在做视频播放时,出现了这样一个问题,就是网页上播放mp4视频时,必须要等到视频下载完成之后,才能播放,不能够随意拖拽,之后通过一个叫做ffmpeg的视频转码软件解决了这个问题.

阅读更多

ppt-online

在做科大学生骨干培训班这个项目时 ,由于需要用到在线浏览学生的ppt文件,为了实现这个问题,采用的解决方案是通过一个软件将其转换为flash进行播放.

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×