构建工具系列一--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? 自动化.对于反复重复的任务, ...
随机推荐
- JVM上的下一个Java——Scala
Scala是一种针对 JVM 将函数和面向对象技术组合在一起的编程语言.Scala编程语言近来抓住了很多开发者的眼球.它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格. ...
- 引用css样式的书写格式
css的书写格式一共有三种 行内样式:意思是在行内中写样式 例如说<p style="color:red">用行内样式编写我的颜色</p> 只适用于< ...
- 优动漫PAINT漫画和插画方面软件特色
优动漫PAINT也就是我们常说的clip studio paint(CSP)的中文版本,它是一款功能强大的漫画.插画绘制软件,它搭载了绘制漫画和插画所需的所有功能,包括丰富的笔工具.超强的笔压感应和手 ...
- MongoDB_聚合
MongoDB提供以下聚合工具来对数据进行操作:聚合框架.MapReduce以及几个简单聚合命令:count.distinct.group 聚合框架:可以使用多个构件创建一个管道,上一个构件的结果传给 ...
- day25-3 json,pickle模块
目录 json 序列化 反序列化 pickle json json文件并不是python独有的,所有的语言都有json,可以跨平台/语言传输数据 json文件中只能写入python中的dict/lis ...
- MySQL 视图触发器事务存储过程函数
事务 致命三问 什么是事务:开启了一个包含多条SQL语句的事务,这些SQL语句要么都执行成功,要么有别想成功:例如A向B转账,二人账户并不属于一家银行,在转账过程中由于网络问题,导致A显示转账 成功 ...
- jmeter图片的下载
1.jmeter下载文件 首先添加一个线程组,然后在线程组里面添加一个http请求,因为是获取数据,所有是get请求,写好下载的地址 1.添加线程组 :右键测试计划,添加-Threads(Users) ...
- 莫烦大大TensorFlow学习笔记(8)----优化器
一.TensorFlow中的优化器 tf.train.GradientDescentOptimizer:梯度下降算法 tf.train.AdadeltaOptimizer tf.train.Adagr ...
- Project Euler 16 Power digit sum( 大数乘法 )
题意: 215 = 32768,而32768的各位数字之和是 3 + 2 + 7 + 6 + 8 = 26. 21000的各位数字之和是多少? 思路:大数乘法,计算 210 × 100 可加速计算,每 ...
- Java包名称中通配符的含义
"com.abc 表示的意义为:系统从com.abc这个包及其子孙包扫描组件 "com.abc.* 表示的意义为:系统从com.abc这个包的子孙包扫描组件