持续集成(Continuous Integration),简称CI,意思是只要代码有变更,就自动运行构建和测试,反馈运行结果(甚至自动部署到测试环境)。其好处在于,随时发现问题,随时修复。因为修复问题的成本随着时间的推移而增长,越早发现,修复成本越低。持续集成并不能消除bug,而是让他们容易发现和纠正。
Travis CI
Travis CI 是在线托管的CI服务,用Travis来进行持续集成,不需要自己搭服务器,在网页上点几下就好,用起来更方便。它对开源项目是免费的,和GitHub天生一对,如果你的项目是开源的并放在 GitHub 那么使用它很方便。
话不多说,访问其官网 https://travis-ci.org/ ,使用GitHub登录(sign in with github)。Travis 会列出 Github 上面你的所有仓库。
此时你只需要打开项目的那个开关,然后Travis会监听这个仓库的代码变化,在代码push时收到GitHub通知,然后自动获取最新代码,进行CI。下载依赖,运行测试,以及你在配置文件指定的其他动作。
配置文件 .travis.yml
我们需要使用一个配置文件来告诉Travis 一些项目信息,比如使用的语言环境 版本什么的,GitHub仓库有变化时,Travis 就会根据这个文件来执行相应的动作。比如说我们一个node项目(最简单的配置),需要放在项目根目录下
Travis 的运行流程很简单,任何项目都会经过两个阶段,但是这儿我们的node项目在这两个阶段都有默认执行任务
install 阶段:安装依赖 (node默认为 )
script 阶段:运行脚本 (node默认为 )
当然除了这两步,你可以在 script 跑完还可以添加部署阶段(deploy),也可以在安装步骤(beforeinstall)之前、在运行脚本步骤(beforescript)之前或在运行脚本步骤(after_script)之后运行自定义命令。
当您的构建成功或失败时,你可以使用(比如构建文档,或者部署到自定义服务器)或(比如上传日志文件)选项执行其他步骤。
完整的构建生命周期如下:
apt addons 使用apt安装软件包
cache components 缓存目录,缓存不经常更改的内容
install 阶段之前执行
安装依赖
script 阶段之前执行
运行脚本
清理缓存
script 阶段成功时执行 or script 阶段失败时执行
deploy 步骤之前执行
部署
deploy 步骤之后执行
script 阶段之后执行
更多配置可以参阅官方文档 https://docs.travis-ci.com/
构建结果
在构建完后,可以设置通知( ),使用email等来通知我们构建结果
很多开源项目都有一个高大上的 图标,告诉使用者老夫这个项目的测试是跑通的(但是并不是用了CI代码质量就有了保证),如果你的项目构建成功,那么它会为你生成这样一个图标。
不是开源项目怎么办?
如果你的项目不是开源项目,免费的肯定是不能用了。你比较有钱就可以继续使用它(最低配 $129/月)如果不想出钱咋办?下期咱们再聊。
左手代码右手砖,抛砖引玉
给点个赞,好不好啊
领取专属 10元无门槛券
私享最新 技术干货