Travis CI简介
Travis CI 是目前新兴的开源持续集成(Continuous Integration)构建项目,采用yaml格式,简洁清新独树一帜。目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建。
搭建Travis CI
- 点击进入Travis CI网页https://www.travis-ci.org/
- 用git账号登录Travis CI,进入主界面如下
- 在下面红框中打开你想要Travis CI自动构建的项目
- 点击进入想要查看的项目,此时应该如下图所示
- 进入该项目的git库中,在根目录下添加“.travis.yml”文件,文件内填写相应的操作,指定Travis的行为,之后当git上进行commit操作时,Travis CI 便会进行对该项目构建,并显示是否构建通过,同时显示在git上
.travis.yml文件编写
以下是使用Travis CI构建Python Django文件的一个例子
language: python
sudo: enabled
services:
- mysql
python:
- "3.5"
env:
global:
- TRAVIS=true
before_install:
- mysql -e 'CREATE DATABASE IF NOT EXISTS wechat_ticket;'
- mv configs.example.json configs.json
# command to install dependencies
install:
- pip install -r requirements.txt
script:
python manage.py test
其中主要内容在于language,install与Script
language表明了该项目使用的语言
install为配置该项目运行需要的环境,此处,在git的根目录下有requirement.txt文件,里面写有需要的配置,使用上述命令行即可自动完整install
Script中的内容便是你想要对该项目做些什么,如上面写的“python manage.py test”便是对项目进行单元测试,Travis CI 会自动构建整个项目,然后对test.py文件夹进行运行
具体yml文件编写过程见官网
注意事项
- Travis CI在运行时会构建整个项目,并不是指关心与test相关的文件,当其他的文件出错时,Travis CI构建出错,依然会显示error
- 在这个例子中,我们搭配了本地的数据库,可能我们会修改本地数据库的信息,比如密码,但是这并不影响Travis CI的构建,Travis CI在运行中会自动配置需要的环境,对于数据库,会使用自己新配好的,所以对Travis CI来说,依旧是默认密码“”,所以在配置settings.py时不要贸然修改数据库密码,会导致密码错误,构建error(血的教训啊)
- 有人说使用Travis CI进行全自动测试,这个说法是不正确的,或者说是片面的,作者本来以为Travis CI可以自动测试你写的代码的正确性,即直接实现单元测试;但是其实Travis CI只是用来全自动构建的,当你把单元测试的代码写好之后,帮助你运行这些代码
- 使用Travis CI最好的一点就是你可以在确定构建成功后将代码merge到git上,防止commit错误的代码使得整个项目失败