相信大家对Travis Ci已经不再陌生了,Github上已经有大部分的项目已经采用了它。

Travis Ci是一个基于晕的持续集成项目,目前已经支持大部分主流语言了,如:C、PHP、Ruby、Python、Nodejs、Java、Objective-C等等,Travis Ci与Github集成非常紧密,官方的集成测试托管只支持Github项目,不过你也可以通过Travis Ci开源项目搭建一套属于自己的方案。

如果你是Github的爱好者,那么Travis绝对值得一试,目前我已经把托管在Github上的部分项目使用了Travis Ci来做集成测试了。

如下图:

 

那么问题来了,Travis Ci的中文文档太少了,于是我硬着头皮写了一篇简洁的教程,如有不足之处,请勿吐槽!

首先我们的要有一个Github账号,接下来就打开Travis Ci的官网,通过Github进行授权登录,一系列的验证过后。

 

我们得把Github的项目同步到Travis Ci的管理后台,然后针对某个项目打开开关。

 

例如:MessageDisplayKit已经打开了开关,进行持续继承项目了。

 

接下来我们就一一详细讲解怎样加入Travis Ci持续集成工具的过程。

步骤:

1.先创建.travis.yml文件(使用VIM也可以,你爱怎么来就怎么来吧!)

2.编辑.travis.yml文件

language: objective-c #语言种类

xcode_project: MyNewProject.xcodeproj # 项目文件相对于.travis.yml文件的路径

xcode_scheme: MyNewProjectTests #你需要集成测试的scheme

3.保存.travis.yml文件

到此你已经完成Travis Ci测试的基本配置了。

然后你就会想,逗比,不同项目类型处理方法呢?

来了嘛!我们不急哈!

不同项目类型,具体有以下几种:

1、单独只有project的项目

2、依赖CocoaPods管理第三方库的项目

3、依赖workspace管理的项目(可能你需要操作build的顺序、修改自动构建命令等等)

首先仅仅单独Project工程文件的项目,使用基本配置就ok了,下面主要讲依赖于workspace的项目。(CocoaPods也是使用workspace,这点我应该比较好理解)

如果你是依赖CocoaPods进行管理第三方管理的项目时,那么你需要把xcode_project这个key改为xcode_workspace。

那么问题又来了,Podfile管理的第三方库怎么来编写构建代码呢?让以下步骤来帮你吧!


就以PopMenu这个开源项目来讲。

1.打开你的项目。

 

2.选择项目的Manage Schemes

 

3.把你需要构建的Target勾上shared选项

 

4.选中你需要管理的scheme,点击左下角的Editi按钮

 

5.选择Build选项,点击左下角的+号按钮,添加你需要依赖的CocoaPods管理的第三方静态库的名字,下图是已经添加后的截图。

 

6.拖动你需要首先构建的Target(这里需要注意一下,有一些依赖库需要先编译某些Target才可以往下继续编译的情况,所以这里可以帮你解决)

如果你还没学会的话,温馨提醒,这里还提供了Travis Ci官网提供的教程,让你的项目加入持续集成测试没有任何障碍。

文/曾宪华(简书作者)
原文链接:http://www.jianshu.com/p/8308b8f08de9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

[转]Travis Ci的最接底气的中文使用教程的更多相关文章

  1. Travis CI用来持续集成你的项目

    这里持续集成基于GitHub搭建的博客为项目 工具: zqz@ubuntu:~$ node --version v4.2.6 zqz@ubuntu:~$ git --version git versi ...

  2. 利用Travis CI 让你的github项目持续构建

    Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI的构建队列 ...

  3. github Travis CI 持续集成

    一个项目如何保证代码质量是开发中非常重要的环节,对于开源项目来说更是如此,因为开源项目要面对的是来自不同水平开发者提交的代码.所以围绕开源做持续集成(Continuous Integration)变得 ...

  4. 使用Travis CI自动部署Hexo博客

    自从使用GitHub Pages和Hexo来发布博客之后,不得不说方便了许多,只需要几个简单的命令博客就发布了.但在不断的使用中发现每次的发布操作也挺耗时的. 我一般的操作是将平时整理好的md文件放到 ...

  5. .NET Core+Selenium+Github+Travis CI => SiteHistory

    前言 总是三分钟热度的我折腾了一个可以每天自动截取指定网站页面并保存到Github的项目SiteHistory,感觉挺好(每次都这样). 想知道YouTube今天的首页长啥样么?点此查看 想知道You ...

  6. 使用Travis CI自动部署Hexo到GitHub

    原文链接(转载请注明出处):使用Travis CI自动部署Hexo到GitHub 前言 使用 hexo + gitPages 搭建个人博客的人都知道,每当要发表一篇博文,第一步得手动使用 hexo g ...

  7. Travis CI实现持续部署

    安装Ruby 2.0以上版本并安装travis的命令行工具 可以看出我的已经是安装好的(Ubuntu 16.04.3 LTS 系统) ruby -v ruby --) [x86_64-linux-gn ...

  8. gradlew在Travis CI没可执行权限 permission denied

    问题的来源 我给一个gradlew项目添加Travis CI的时候遇到一个问题,gradlew没有可执行权限.具体错误如下: /home/travis/build.sh: line 45: ./gra ...

  9. iOS中 为 iOS 建立 Travis CI 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 你是否曾经试着为 iOS 项目搭建一台支持持续集成的服务器,从我的个人经验而言,这可不是一个轻松的活.首先需要准备 ...

随机推荐

  1. Yii rules常用规则

    public function rules() {     return array(         //必须填写         array('email, username, password, ...

  2. Oracle 图形化以及命令行安装

    @(Oracle)[Install] Oracle 安装 相关版本说明 不同版本的Oracle需要安装在特定的系统版本之上. 如Oracle 11gR2的11.2.0.1.0需要安装在CentOS 5 ...

  3. C# BlockCollection

    1.BlockCollection集合是一个拥有阻塞功能的集合,它就是完成了经典生产者消费者的算法功能. 它没有实现底层的存储结构,而是使用了IProducerConsumerCollection接口 ...

  4. MySQL随机获取数据的方法,支持大数据量

    最近做项目,需要做一个从mysql数据库中随机取几条数据出来. 总所周知,order by rand 会死人的..因为本人对大数据量方面的只是了解的很少,无解,去找百度老师..搜索结果千篇一律.特发到 ...

  5. 前端进阶试题css(来自js高级前端开发---豪情)既然被发现了HOHO,那我就置顶了嘿嘿!觉得自己技术OK的可以把这套题目做完哦,然后加入高级前端的社区咯

    http://www.cnblogs.com/jikey/p/4426105.html js高级前端开发加群方法(此群很难进,里面纯技术,严禁广告,水群) 完整题目做完发邮箱(jikeytang@16 ...

  6. tyvj1004 滑雪

    描述     trs喜欢滑雪.他来到了一个滑雪场,这个滑雪场是一个矩形,为了简便,我们用r行c列的矩阵来表示每块地形.为了得到更快的速度,滑行的路线必须向下倾斜.    例如样例中的那个矩形,可以从某 ...

  7. C# *= 运算顺序

    a *= a + b *c; 不管等号右边有没有括号,总是先算右边: 即等价于 a = a *(a + b*c); using System; using System.Collections.Gen ...

  8. [Python] 学习笔记之MySQL数据库操作

    1 Python标准数据库接口DB-API介绍 Python标准数据库接口为 Python DB-API,它为开发人员提供了数据库应用编程接口.Python DB-API支持很多种的数据库,你可以选择 ...

  9. 微信5.4安卓版重回ios风格 导航菜单都放底栏位置

    微信5.4安卓版发布更新了,由于本人的手机设置软件自动更新,中午的时候才发现微信换成了5.4版本,启动微信后是一个大大的“转账,就是发消息”,进入微信界面有点小惊喜,导航菜单都改为底部tab方式,顶部 ...

  10. 【荐】如何正确理解PHP之include,include_once,require,require_once等包含作用域

    我们为大家总结的PHP include作用域的问题包括:PHP include 变量作用域和函数.类的作用域等方面的问题.希望对大家有所帮助. 很多程序员在使用PHP语言进行实际编程时,通常只会关注P ...