相信大家对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. 如何接触学习java

    信息科技必将是未来的潮流,Java语言必将在时代的进步中发挥不可估量的作用,未来,掌握好一门实用而且有良好应用前景的技术是你们的首要任务. 零基础怎么学Java 多年Java教育培训经验事实表明,零基 ...

  2. Web jquery表格组件 JQGrid 的使用 - 6.准备工作 & Hello JQGrid

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  3. iis搭建FTP服务器

    win7下如何开启iis请参考前一篇 使用iis并搭建 iis 图片服务器 ftp登陆格式  : ftp://[帐号]:[密码]@[IP]:[端口] ftp://用户名:密码@FTP服务器IP或域名: ...

  4. 第二轮冲刺-Runner站立会议03

    今天做了什么:查看gridview与baseadapter适配器 明天准备做什么:继续gridview与baseadapter适配器 遇到的困难:暂无

  5. CentOS 7 上安装 redis3.2.3安装与配置

    前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自身集群的功能. 而现在最新的项目是需要redis集群的,这篇文章我们就来介绍下有关redis的安装与配置. 一. ...

  6. [Head First设计模式]山西面馆中的设计模式——装饰者模式

    引言 在山西面馆吃鸡蛋面的时候突然想起装饰者这个模式,觉得面馆这个场景跟书中的星巴兹咖啡的场景很像,边吃边思考装饰者模式.这里也就依葫芦画瓢,换汤不换药的用装饰者模式来模拟一碗鸡蛋面是怎么出来的吧.吃 ...

  7. 15个JavaScript本地存储技术的函数库和工具

    当构建更复杂的JavaScript应用程序运行在用户的浏览器是非常有用的,它可以在浏览器中存储信息,这样的信息可以被共享在不同的页面,浏览会话. 在最近的过去,这将有可能只被cookies文本文件保存 ...

  8. DB2表的重组

    DB2在存储大数据的时候,遇到一个问题,将数据导入表中保存不了,最后是重组后才解决. 下面是从IBM官网上搜集的资料: 官网地址:http://publib.boulder.ibm.com/infoc ...

  9. servlet 之 response 回复 字节流 字符流

    重定向 设置状态吗为302  添加响应头Location(告诉他重定向到哪里去)           //response.setStatus(302);         //添加响应头Locatio ...

  10. MySQL 慢查询日志分析及可视化结果

    MySQL 慢查询日志分析及可视化结果 MySQL 慢查询日志分析 pt-query-digest分析慢查询日志 pt-query-digest --report slow.log 报告最近半个小时的 ...