构建工具系列一--Travis-cli
本文地址: http://www.cnblogs.com/blackmanba/articles/continuous-integration-tool-travis-cli.html或者http://forkme.info/continuous-integration-tool-travis-cli/, 转载请注明源地址。
概述
Travis-cli是一个在线的, 分布式的持续集成服务, 用来构建和测试在Github上拖管的代码。wikipedia上定义如下:
In software development, Travis CI is a hosted, distributed continuous integration service used to build and test projects hosted at GitHub. The software is also available as an open source download on GitHub, although its developers do not currently recommend it for on-premise use for closed projects.
Travis-cli不同于以前的持续集成工具, 它采用YAML格式来声明(ps: 本博客使用的是Github page, 也是采用YAML格式配置的, 传送门), 同时支持C, C++, Clojure, Erlang, Go, Groovy, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby和Scala语言。
插播: 构建工具系列二--Grunt
用途
那么, Travis-cli作为一个工具究竟在使用在什么应用场合呢?一般来说会在两种情况下使用:一是项目的自动测试; 而是项目的自动构建。我们知道, 在Github上协作开发过程中可能会遇到很多不认识的人或组织通过pull request向我们提交代码或者是多人进行项目开发协作。在这种情况下如何保证代码风格的一致性和代码的正确性就显得十分重要。使用Travis-cli就能很好的解决以上问题。通过预先编写的代码风格检查工具和项目构建工具并将之集成到Travis-cli上, 每次提交代码时Travis-cli就会自动进行构建并对构建结果作出提示, 从而帮助我们检查代码可能存在的问题。
如何集成到Github
如何将Travis-cli集成到托管在Github上面的代码库呢?方法如下:
- 关联Github账号并打开开启项目集成
- 项目配置.travis.yml文件
下面是简单说明:
1. 关联Github账号并打开开启项目集成
1.1 进入网站https://travis-ci.org/并点击右上角的Sign in with GitHub链接;
1.2 登录Github账号, 赋予Travis-cli权限, 如图:

1.3 账号处点击Accounts, 进入Repositories页, 选择要打开Travis-cli的项目, 点击ON, 如图:

2. 项目配置.travis.yml文件
.travis.yml文件是Travis-cli的配置文件, 包括配置使用的编程语言, 版本以及执行的命令等等。具体语言的使用的配置信息不同, 参数说明在http://docs.travis-ci.com/user/languages/×××(×××表示所使用的语言)。比如c语言的具体配置信息链接是http://docs.travis-ci.com/user/languages/c。
配置完.travis.yml后, 只要将其上传到对应目录的根目录下, 以后每次提交就可以自动进行构建了!
** Finally: enjoy it! ^_^ **
总结
本文介绍了Travis-cli项目持续构建工具的使用配置。希望您能在自己的Github项目中使用它, 感受它带来的便利和好处。
构建工具系列一--Travis-cli的更多相关文章
- 构建工具系列二--Grunt
本文地址: http://www.cnblogs.com/blackmanba/p/frontend-scaffold-grunt.html或者http://forkme.info/frontend- ...
- 前端工程化系列[04]-Grunt构建工具的使用进阶
在前端工程化系列[02]-Grunt构建工具的基本使用和前端工程化系列[03]-Grunt构建工具的运转机制这两篇文章中,我们对Grunt以及Grunt插件的使用已经有了初步的认识,并探讨了Grunt ...
- 前端工程化系列[03]-Grunt构建工具的运转机制
在前端工程化系列[02]-Grunt构建工具的基本使用这篇文章中,已经对Grunt做了简单的介绍,此外,我们还知道了该如何来安装Grunt环境,以及使用一些常见的插件了,这篇文章主要介绍Grunt的核 ...
- 前端工程化系列[02]-Grunt构建工具的基本使用
本文主要介绍前端开发中常用的构建工具Grunt,具体包括Grunt的基本情况.安装.使用和常见插件的安装.配置和使用等内容. 1.1 Grunt简单介绍 Grunt是一套前端自动化构建工具.对于需要反 ...
- 脚手架vue-cli系列二:vue-cli的工程模板与构建工具
上篇文章我们提到了vue-cli的工程模板.这里我们来详细的进行介绍. vue-cli提供的脚手架只是一个最基础的,也可以说是Vue团队认为的工程结构的一种最佳实践.对于初学者或者以前曾从事Angul ...
- Google软件构建工具Bazel FAQ
Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接 注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用方 ...
- 为什么google bazel构建工具流行不起来
作者Jack47 转载请保留作者和原文出处 之前博主写了系列文章Google软件构建工具Bazel原理及使用方法介绍.最近使用了一段时间后,觉得这个东西不是一种通用的构建工具,很难对接到情况复杂的大的 ...
- 前端构建工具gulp使用
前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中文文档 https://g ...
- grunt自动化构建工具
一.什么是grunt? 是基于nodejs的项目构建工具,grunt和grunt插件是通过npm安装并管理的,npm是node.js的包管理器 二.为什么要用grunt? 自动化.对于反复重复的任务, ...
随机推荐
- hdu 2489 dfs枚举组合情况+最小生成树
大家都说,搜索是算法的基础.今天最这题就有体会了.在n个顶点里选择m个顶点,求最小生成树.用到了深搜的回溯.所有情况都能枚举. #include<iostream> #include< ...
- PythonOpenCV--Rtrees随机森林
360确实很个性,哈哈,你个貔貅,只吃不吐! Rtrees介绍!参考链接:http://docs.opencv.org/modules/ml/doc/random_trees.html 原文链接:Py ...
- 杭电1003 Max Sum TLE
这一题目是要求连续子序列的最大和,所以在看到题目的一瞬间就想到的是把所有情况列举出来,再两个两个的比较,取最大的(即为更新最大值的意思),这样的思路很简单,但是会超时,时间复杂度为O(n^3),因为有 ...
- Rx (Reactive Extensions)介绍
Reactive Extensions (Rx) 原来是由微软提出的一个综合了异步和基于事件驱动编程的库包,使用可观察序列和LINQ-style查询操作. 使用Rx, 开发者可以用Observable ...
- vue 项目初始化、mock数据以及安装less
vue 创建一个项目 1.首先建立一个空文件夹,然后将这个文件夹要放到码云或者其他代码管理平台. 例如码云: 在码云上建立一个项目,然后在控制台进入这文件夹执行 git clone 地址是码云上创建的 ...
- vc++如何创建程序-构造和继承
#include<iostream.h>//定义一个动物类class Animal{public: void eat();//添加方法 { cout<<"animal ...
- virtualenv 虚拟环境依赖安装
虚拟环境依赖安装 开发要学会用 virtualenv 来管理多个开发环境 Ubuntu/Centos/MacOS 下 virtualenvwrapper 使得virtualenv变得更好用,所以我们一 ...
- 小结ajax中的同源和跨域 jsonp和cors
网上的同源和跨域一般都比较复杂,最近也稍微总结了一下: 所谓同源,是浏览器的一种安全机制,作用在于保护网页数据的安全,不同源的网页之间不允许cookie dom ajax等行为 同源的条件:1.协议相 ...
- P1085 不高兴的津津
... 题目描述 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班.另外每周妈妈还会送她去学习朗诵.舞蹈和钢琴.但是津津如果一天上课超过八个小时就会不 ...
- BZOJ 1197 [HNOI2006]花仙子的魔法 (数学题)
题面:洛谷传送门 BZOJ传送门 非常有意思的一道数学题,浓浓的$CF$风,然而我并没有想出来.. 我们想把一个$n$维空间用$n$维球分成尽可能多的块 而新增加一个$n$维球时,肯定要尽可能多地切割 ...