这篇文章和大家聊一聊一个持续集成平台——Travis Ci。
什么是持续集成
当开发一个代码库,我们的工作不仅仅只是写源代码,还需要做很多工程化的建设,比如构建、单元测试、发布等等。每当你发布代码的时候都需要手动执行这些操作,那有没有一个自动化的工具帮我们完成这些工作呢?答案是必须的必啊!
Travis Ci就是一个这样的工具平台,它提倡高频小份提交代码,而不是等到项目开发完一次性提交一大坨代码,这种提交方式对排查错误很有帮助。
开发一个持续集成平台工具并不是很难,你甚至只做一个cli就可以做到持续集成的效果。目前大公司都有自己内部的通用持续集成平台,但也仅限于公司内部使用,Travis Ci作为一款开源免费优秀的持续集成工具可以帮助你做很多开源代码的建设工作。
Builds、Stages、Jobs和Phases名词解释
(1)install、test、deploy等操作被称为phase,翻译过来就是阶段;
(2)将你的代码copy到一个虚拟环境,然后运行编译、测试等操作,这一系列流程称为一个job,如果其中一个阶段运行结果返回非0,整个job就会失败;
(3)按顺序运行的一组job被称为build;
(4)一组平行运行的job被称为stage,一个build也可以由多个stage组成。
咱看图说话,更容易理解,
使用Travis Ci的先决条件
(1)拥有Github或者Bitbucket账号;
(2)拥有代码仓库的所有权,就是所谓的owner。
使用Travis Ci步骤
(1)用github账号登录Travis Ci平台Travis-ci.com;
(2)登录之后,点击右上角头像,再点击设置和绿色的激活按钮,然后选择你想要使用Travis Ci的仓库(也可以选择你所拥有的所有的仓库);
(3)向仓库添加一个.travis.yml文件告诉Travis Ci你想要它做什么;在你增加.travis.yml文件后你每次提交都会触发Travis Ci运行;
(4)你可以去Travis Ci平台的构建页面查看构建过程和结果。
开发.travis.yml文件
如图3,咱们先写一个简单的yml文件,此文件采用YAML格式。
(1)第一行就是让我们选择一个运行的语言,Travis Ci平台支持几十种语言,咱们是做前端的,当然首选nodejs;
(2)第二行node_js是让我们选择node的版本,node代表nodejs的稳定版本,还有其他版本的写法,咱们后面再说;
(3)install就是安装阶段,图3中咱们只运行一个安装依赖的命令;
(4)script就是运行脚本,图中写了两个命令;
图4所示是在代码仓库的package.json中设置的两个命令,一个打印build字符串,另外一个打印test字符串。现在我们把这个文件推到远程仓库,看看能不能触发Travis运行并且运行结果是否能符合预期?
如图5所示是Travis运行的日志输出,从图中可以看出它是先把咱的代码下载到它的环境,紧接着用nvm开始安装最新版本的node,安装完了还检查了一下node版本,后面就开始安装依赖和执行脚本。test和build两个字符串也都打印了出来,而且最后一句说到构建的退出码是0,说明咱们整个构建是成功的,binggo!
以后再向代码push代码,都会走一遍这样的流程。
build passing徽章
在构建页面上面有个徽章,点击它就会弹出了一个弹框,format下拉框选择makedown,然后把result的文本复制到代码仓库的README里面,这样你的仓库也会多一个这样的徽章,看起来就显的很专业。
总结
这篇主要是带大家学习如何使用持续集成Travis Ci平台,后面写了一个简单的例子走了一遍流程,整体还是非常简单的。其中最重要的还是如何去配置.travis.yml文件,后面我们会继续聊。
喜欢我的文章就关注我吧,有问题可以发表评论,我们一起学习,共同成长!
#JavaScript WEB前端开发##JavaScript#