[生产力工具]Travis CI浅入门
来源:互联网 发布:伦敦金数据网 编辑:程序博客网 时间:2024/05/22 09:51
这里先说一句最近的心得:任何工具都只是工具,任何语言都只是语言,如果近期没有使用它们的需求。就没必要在精通一项工具上花费大量的时间。(有这些时间去学学计算机基础,还有算法还是挺好的)。
不要为了使用一项工具而使用一项工具,要在你需要的时候再去学习。
好接下来是正文:
Travis CI是什么东东?
Travis CI是在线托管的CI服务,用Travis来进行持续集成,不需要自己搭服务器,在网页上点几下就好,用起来更方便。最重要的是,它对开源项目是免费的。
持续集成:Continuous Integration,简称CI,意思是,在一个项目中,任何人对代码库的任何改动,都会触发CI服务器自动对项目进行构建,自动运行测试,甚至自动部署到测试环境。这样做的好处就是,随时发现问题,随时修复。因为修复问题的成本随着时间的推移而增长,越早发现,修复成本越低。
为什么是GitHub?
因为GitHub和Travis是一对好基友,不用GitHub虽然也能用Travis,但是配置起来太麻烦。而且,作为开源项目,为什么不用GitHub?
而且还能给项目的README打上build.passing的标签(其实这个是我主要入坑的原因),还能及时发现问题何乐而不为。
当然想法是美好的,但是对于博主这样一位除了VS其它东东都用的很少的萌新,才发现是个大坑。
实际配置过程:(没错博主又来当BLOG的搬运工了)
参照这篇BLOG:http://www.liaoxuefeng.com/article/0014631488240837e3633d3d180476cb684ba7c10fda6f6000
配置过程异常曲折,主要是我对项目结构的不熟悉以及不会linux还有脚本语言。具体都体现在我的github:
https://github.com/xuyicpp/Cpp_Primer_5th
接下来写一下我的心路历程(CPP EDITION):
一开始,我就是为了让自己的README好看一点,所以才入了travis这个坑的,然后按照BLOG上的步骤一步步来,等到了要配置.travis.yml这个
文件的时候我就傻眼了,怎么配,去网上找发现很少有人弄这个,尤其是CPP版本的。于是我就写了个,language:cpp。
结果在travis这个服务器上跑得时候,
$ ./configure && make && make test
/home/travis/.travis/job_stages: line 54: ./configure: No such file or directory
一直报这个错误,我后来看官方文档的时候才发现,如果你只写language:cpp。
Default Test Script #
Because C++ projects on travis-ci.org assume Autotools and Make by default, naturally, the default command Travis CI will use to run your project test suite is
./configure && make && make test
Projects that find this sufficient can use a very minimalistic .travis.yml file:
language: cpp
This can be overridden as described in the general build configuration guide. For example, to build by running Scons without arguments, override the script:
key in .travis.yml
like this:
script: scons
使用autoconf和automake生成Makefile文件,在linux下调试成功了但是我把所有的文件放在github上,包括configure和makefile
发现还是不行。
虽然我应该弄清楚到底为什么不行,但是留给中国队的时间已经不多了。我还是放弃这种方法,因为时间不足,而且也不是刚需。
Github上找项目:
我后来在github上搜索cpp travis没想到还真有位荷兰的哥们做了个教程,
https://github.com/richelbilderbeek/travis_cpp_tutorial
于是我就按照他给的最简单的方法写了个hello world并通过了编译。
至于configure makefile 以及 集成测试 等以后有需要在了解吧。
这次尝试教会了我什么,
1.看官方文档很重要:https://docs.travis-ci.com/
2.在github上找项目,因为用不了Google所以只能在github上找一些解答
- [生产力工具]Travis CI浅入门
- Travis CI
- Travis CI
- Travis.ci
- [生产力工具]Mysql入门
- GitHub衍生工具hub、Travis CI、Converalls、Jenkins
- [生产力工具]github入门指南
- [生产力工具]编辑器sublime入门
- Travis CI 持续集成
- travis ci 学习
- 开始使用travis ci
- Travis CI使用笔记
- Travis-ci集成构建系统
- Travis CI android 持续集成
- 为 iOS 建立 Travis CI
- 为 iOS 建立 Travis CI
- webstorm入门4-karma/jasmine/coverage/coveralls/phantomjs/travis-ci单元测试
- 为iOS项目搭建Travis CI服务器
- Spark分组二次排序
- 对象的创建和调用方法以及操作字段
- MySQL高级特性
- 线程安全与可重入函数
- 数据库——设计关系模式要用的概念
- [生产力工具]Travis CI浅入门
- Linux的多线程——生产者与消费者(条件变量、信号量)
- 安卓AR--DEMO以及卡片app下载地址
- Android源码编译出现的错误总结
- 表格视图控制器UITableViewController
- 2252: [2010Beijing wc]矩阵距离
- target=_blank与target=_self的区别
- 优步CEO是混蛋吗?
- ubuntu16.04配置安装caffe