网上有很多关于Jenkins持续化集成和单元测试的文章,但是在接入过程中,遇到了一些问题,然而这些教程并不能很好的解决我的问题,所以打算自己整理一篇。
一.环境说明
搭建机器:一台Mac Book Pro
开发工具:XCode V8.0
开发环境:OS X EI Capitan 版本 10.11.6
Jenkins版:V2.7.4
二.环境搭建
1:安装jenkins
打开终端,使用brew install jenkins进行安装,如果没有安装过homebrew环境的同学,可以先学习安装homebrew。
1)安装 homebrew环境,$$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
2)brew install jenkins
安装成功后,在/usr/local/Cellar/jenkins/1.646/libexec文件夹下,会有jenkins.war文件,表示安装成功。PS:我用命令行安装的Jenkins版本为V1.646,后来在Jenkins服务器中,更新升级为了V2.7.4。
3)运行Jenkins,java -jar /usr/local/Cellar/jenkins/1.646/libexec/jenkins.war,为了方便,我写了个运行Jenkins命令的别名:aliasjenkins='java -jar /usr/local/Cellar/jenkins/1.646/libexec/jenkins.war’,只有只要输入jenkins就相当于运行Jenkins
Jenkins运行成功之后,就可以用浏览器访问http://localhost:8080/地址
2:jenkins环境配置
安装Jenkins插件:Xcode integration
系统管理/管理插件/可选插件,搜索安装
PS:在已安装插件中,可以更新升级的插件,最好选择更新。
三.持续化集成
1:打包.ipa
接下来就是项目的持续化集成了
1、首先新建一个自由风格的job
建完之后进入job的配置界面
2、添加工程源码管理,因为我们的工程使用Versions,所以当然选择SubVersion啦~
3、在构建中增加构建步骤,对XCode进行配置
4、配置完成后,保存,点击立即构建
当构建完成后,小圆点为蓝色图标,代表构建成功,若失败,可查看构建日志,分析失败原因
让我们来看看在workspace/build文件夹中能否找到.ipa包
打包成功!
2:自动上传蒲公英
只需要在构建完Xcode后,再增加构建Execute shell(注意顺序,不能错)
保存,立即构建,之后就能在蒲公英上看到自己上传的测试包了。
四.单元测试的引入
我没把单元测试和打包上传蒲公英的Job合并到一起,是因为不想每次单元测试的时候,都要上传一次测试包,这样每次构建也很花时间。
1、和之前持续化集成的步骤相同,新建一个RiderTest的Job
2、配置SVN、Xcode。Xcode不配置打包相关的设置。
3、增加构建Execute shell:
//因为根目录为workspace,xcodebuild需要在Rider.xcworkspace所在目录下进行操作,所以要先cd到相应路径
cd Rider\ 4.1.0
//配置SDK、测试设备
xcodebuild test -workspace Rider.xcworkspace -scheme Rider -sdk iphonesimulator10.0 -destination OS=10.0,name="iPhone 6s plus" -configuration Debug 2>&1 | ocunit2junit
4、增加构建后步骤
在第一次填写的时候,测试报告的路径会标红,没关系,这是因为那时候还没有进行test,相应目录下没有xml文件生成,之后点保存,立即构建。
5、构建成功后,在Job的主页就能看到测试的结果