如何使用Jenkins+Calabash搭建持续集成开发环境。
环境
- XCode 7.0
- Mac OS X 10.10.0
Cocoapods
CocoaPods简介
CocoaPods是一个负责管理iOS项目中第三方开源代码的工具。CocoaPods项目的源码在Github上管理。该项目开始于2011年8月12日,经过一年多的发展,现在已经超过1000次提交,并且持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。
安装Cocoapods
1、安装Homebrew
Homebrew是Mac下著名的包管理工具,RVM和以后用到xctool都需要用这个来安装,相当于Ubuntu的Apt-get。
安装方法是在命令行中键入
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
之后执行环境检查
brew doctor
检查没有错误就可以使用了,如果出现错误,请参考提示进行修正。
确认无误后,可以安装第一个应用curl,一个用来下载的工具。使用命令
brew install curl
2、安装RVM
虽然Mac默认都带有Ruby,但是有些时候使用起来很麻烦(例如必须使用sudo来安装gem)并且只有一个版本,所以我们使用RVM来管理ruby的版本,ruby是自动化测试工具calabash的运行环境,所以必须要有。
安装方法是命令行中键入
\curl -sSL https://get.rvm.io | bash -s stable
过程中可能需要输入sudo密码。
使用淘宝源替换
sed -i .bak 's!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db
3、安装Ruby
使用rvm下载ruby2.0版本
rvm install 2.0.0
选用2.0.0版本的ruby,并设置为默认
rvm use 2.0.0 --default
使用淘宝源替换gem源
rvm source --add http://ruby.taobao.org/
rvm source --remove https://rubygems.org/
4、安装Cocoapods
CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。
通过Gem安装Cocoapods
gem install cocoapods
执行cocoapods的初始化
pod setup
该过程需要到github上拉取specs,速度很慢,可以喝杯咖啡慢慢等
Calabash
Calabash是一款开源的跨平台UI测试工具,目前支持iOS和Android。它使用Cucumber作为测试核心,Cucumber是一个在敏捷团队十分流行的自动化的功能测试工具,它使用接近于自然语言的特性文档进行用例的书写和测试,支持多语言和多平台。
安装Calabash
gem install calabash-cucumber
安装Calabash中文支持包
gem install calabash-cucumber-ios-cn
新建集成测试的Target
打开工作区,然后选择Jenkins这个工程,打开配置,targets中Jenkins上右键进行复制。
如果出现Duplicate iPhone Target对话框,选择Duplicate Only就可以,另外一个选项是复制并转换成iPad程序。
Jenkins
Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。
XCTool
使用Jenkins进行持续集成之前,还有一个前提,就是编译这个过程需要自动化,中途用xcode手动点的不行,所以我们需要有命令可以一次编译我们的工程,这里我们使用xctool这个工具,是facebook写的一个集成工具,用来编译和打包程序的。
安装方法是使用homebrew,在命令行执行
brew install xctool
安装好在程序目录下测试一下是否可以编译
xctool -workspace integration_test.xcworkspace -scheme integration_test-cal -sdk iphonesimulator7.1 clean build
注意这里的sdk每个人可能不同,要根据本机安装的sdk来写 , 查看的方法是执行命令
xcodebuild -showsdks
如果显示 BUILD SUCCEEDED 那么可以进入下一步了。
Jenkins
安装jenkins还是使用brew
brew install jenkins
安装好之后,可以通过使用命令行启动
java -jar /usr/local/Cellar/jenkins/1.620/libexec/jenkins.war
如果想自动启动,需要先执行以下命令,创建启动项
ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
可以编辑一下~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist这个文件
open ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
想要让局域网都可以访问,需要把–httpListenAddress=127.0.0.1改成自己的局域网IP
手动启动启动项可以执行
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
之后用浏览器就可以访问http://localhost:8080/来登录jenkins了