Jenkins 搭建iOS持续集成环境
前言
那天老大和我说iOS能不能弄个持续集成环境,开始听到这个名词的时候表示好像有点高级,不懂~!后来说到Maven和Ant,大概懂了,自动打包嘛。但再具体下来看下别人的blog之类的时候发现不单单是自动打包了,还包含一些开发的思想在内。
什么是持续集成环境?
持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度。
以前玩cocos的时候测试是给测试配台测试mac机器,然后我在那折腾半天把那台的Mac环境配好,然后给他们个SVN让他们update代码,然后自己打开Xcode运行程序。这样子有好也有不好,好的是崩溃了能第一时间保留现场给开发人员fix,但有时候也觉得麻烦,黑一下C++,崩溃。现在搞应用感觉这种bug很少会遇见啦,可能还不够深入吧。
跑题了,那么目标就是让开发的代码提交到git后,项目组的其他人员能随时构建一个最新的包安装到自己的手机上,每次找程序猿也可以,但太花时间,构建了一个持续集成环境后,不用每次程序猿去改工程配置,不停滴切换各个版本。
环境
Xcode 7.2
Mac OS X 10.11.1
Jenkins
Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。非常nice的一个东西,自己慢慢体会
XCTool
XCTool这个是facebook搞的一个集成工具,用来编译和打包iOS程序。我们需要用它来帮助我们在命令行自动构建项目等。
构建步骤
1、安装Ruby,RVM,Cocoapods
关于这部分的安转下面的这个链接将会非常详尽的告诉你,感谢大神的blog
iOS CocoaPods安装和使用图解
2、安装Homebrew
Homebrew是Mac下著名的包管理工具,玩过Centos的童鞋都知道yum吧,你就把它看成是Mac下的yum
终端输入
|
|
检查安装环境
|
|
3、安装Jenkins和XCTool
|
|
如果机子上没有1.7+的jdk,会报错,没关系,根据提示来进行依赖项的安装。
|
|
然后再执行brew install jenkins,这会应该就安装成功了。我们通过下面的命令启动Jenkins
|
|
然后我们用浏览器打开本地Jenkins
来打开Jenkins,如果页面打开成功,恭喜你已经将Jenkins成功安装到你的本机。
安装XCTool
|
|
非常easy,安装完后可以使用xctool -help来查看相应的命令来获取帮助。
4、配置Jenkins
首先项目是托管到git上的,那么我们就得通过Jenkins里的
系统配置->管理插件
安装下面几个插件,当然也可以根据项目具体情况进行安装
Git Server Plugin #Git的支持,如果用svn就不需要了
Git Client Plugin #Git的支持,如果用svn就补需要了
Git Plugin
主要就这三个,如果是svn就直接忽略吧~
我们就可以新建个项目,然后在项目配置里对项目内容进行配置,说几个重要的地方
源码管理,选用的是git
Repository URL 就是你的远程git仓库
Credentials 这个就是让你输入git仓库的账号密码
勾上Run the build in a RVM-managed environment 选项
构建下的shell脚本最为重要
直接贴shell吧
|
|
首先就是用XCTool进行编译打包成archive,然后再有Xcode自带的命令行xcodebuild将archive文件打包成一个ipa
这个shell各位大神可根据自己的实际情况进行更改,至此,一个简易的持续集成环境就搭建完成了。当然还有很多东西要做,首先一个就是让别人能访问到你的这个Jenkins网页,那么这些只需要对
~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
修改–httpListenAddress=127.0.0.1改成自己的局域网IP
这样子别人就可以访问到你的网页了。进入项目在右边侧栏点击立即构建,enjoy it~~!^_^