Jenkins的持续化集成和单元测试的引入

网上有很多关于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的持续化集成和单元测试的引入》 Jenkins1.png
《Jenkins的持续化集成和单元测试的引入》 Jenkins2.png

Jenkins运行成功之后,就可以用浏览器访问http://localhost:8080/地址

《Jenkins的持续化集成和单元测试的引入》 Jenkins3.png

2:jenkins环境配置

安装Jenkins插件:Xcode integration
系统管理/管理插件/可选插件,搜索安装
PS:在已安装插件中,可以更新升级的插件,最好选择更新。

三.持续化集成

1:打包.ipa

接下来就是项目的持续化集成了
1、首先新建一个自由风格的job

《Jenkins的持续化集成和单元测试的引入》 Jenkins4.png

建完之后进入job的配置界面

《Jenkins的持续化集成和单元测试的引入》 Jenkins5.png

2、添加工程源码管理,因为我们的工程使用Versions,所以当然选择SubVersion啦~

《Jenkins的持续化集成和单元测试的引入》 Jenkins6.png

3、在构建中增加构建步骤,对XCode进行配置

《Jenkins的持续化集成和单元测试的引入》 Jenkins7.png
《Jenkins的持续化集成和单元测试的引入》 Jenkins8.png
《Jenkins的持续化集成和单元测试的引入》 Jenkins9.png

4、配置完成后,保存,点击立即构建

《Jenkins的持续化集成和单元测试的引入》 Jenkins10.png

当构建完成后,小圆点为蓝色图标,代表构建成功,若失败,可查看构建日志,分析失败原因

《Jenkins的持续化集成和单元测试的引入》 Jenkins11.png

让我们来看看在workspace/build文件夹中能否找到.ipa包

《Jenkins的持续化集成和单元测试的引入》 Jenkins12.png

打包成功!

2:自动上传蒲公英

只需要在构建完Xcode后,再增加构建Execute shell(注意顺序,不能错)

《Jenkins的持续化集成和单元测试的引入》 Jenkins13.png

保存,立即构建,之后就能在蒲公英上看到自己上传的测试包了。

四.单元测试的引入

我没把单元测试和打包上传蒲公英的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、增加构建后步骤

《Jenkins的持续化集成和单元测试的引入》 Jenkins14.png

在第一次填写的时候,测试报告的路径会标红,没关系,这是因为那时候还没有进行test,相应目录下没有xml文件生成,之后点保存,立即构建。
5、构建成功后,在Job的主页就能看到测试的结果

《Jenkins的持续化集成和单元测试的引入》 Jenkins15.png

    原文作者:VilaZhang
    原文地址: https://www.jianshu.com/p/f253badc6ffb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞