ios持续集成之Jenkins使用
本文将介绍如何使用jenkins自动打包部署内测应用
1、安装jenkins:brew install jenkins
2、安装jenkins插件:登录到jenkins->管理插件:
安装:Xcode integration,Workspace Cleanup Plugin,Timestamper,SSHSlaves plugin,SICCI For Xcode Plugin
Pipline,Perfecto Mobile Plugin,GitHub Organization Folder Plugin,Email Extension Template Plugin,Credentials Binding Plugin,build timeout plugin,Appaloosa Plugin
3、配置jenkins:
a、新建应用:点击jenkins首页->新建->构建一个自由风格的软件项目(如果你的项目是一个新建配置环境的工程,可以在最后copy from 然后输入之前创建好的项目,这时候你新建的项目配置会和你输入的项目的配置一摸一样。多个工程使用这种方式比较快速新建项目,毕竟只要改改项目位置,名字,证书就可以了),点击ok/确定
b、项目名称会作为jenkins中.workspace文件夹下你项目的根目录名(相同应用可以用在jenkins上配置不同项目名称来配置项目名)
c、配置项目常规的选项:通用中有很多选项可供选择。这些不会影像项目生成方式。可以自己研究一下。
d、源码管理:源码管理有3个选项:None,Git,Subversion,这是构建代码的出处,配置git,或svn环境时要配置对应的账号信息
e、构建触发器:这里是如何出发jenkins构建项目的,不配置的话就是手动构建,我们现在是让测试人员主动登录jenkins去构建项目。
f、构建环境:这边我选了每次开始构建时都删除workspace中的文件。这样可以保证每次构建的工程肯定是最新的工程
g、(Shell配置)归档和ipa生成脚本和上传到指定分发部署平台配置:
* 由于归档和ipa最终要输出到jenkins运行的机子上,所以我在机子上建了一个文件夹用于存放归档和ipa文件的如~/Document/builds
*add Execute shells:
第一个shell
rm -rf ~/Documents/builds/***.archive
rm -rf ~/Documents/builds/***.ipa
这个操作是将之前的归档和ipa删除
第二个shell
xcodebuild -archivePath '~/Documents/builds/*.xcarchive' -workspace ***.xcworkspace -sdk iphoneos -scheme "***[scheme name]" -configuration "Debug" archive
这个shell能够帮你生成一个archive文件然后输出到~/Documents/builds/文件夹下
第三个shell
xcodebuild -exportArchive -archivePath "~/Documents/builds/***.xcarchive" -exportPath "~/Documents/builds/" -exportOptionsPlist "~/Documents/***.plist" CODE_SIGN_IDENTITY="iPhone Developer: *** (***)"
PROVISIONING_PROFILE="****-e398-4784-a96d-*******"
这个shell是从归档文件输出ipa到~/Documents/Builds/文件夹下
注意到上面又一个-exportOptionsPlist *** .plist 这个是xcode7后xcodebuild生成ipa需要的一个plist,这个plist可以通过xcodebuild命令--help来看到具体里面的参数名使用方法说明等。
第四个shell
curl -F "file=@~/Documents/builds/***.ipa" -F "uKey=***" -F "_api_key=***" https://www.pgyer.com/apiv1/app/upload
这个shell是将ipa上传到蒲公英(当然你的自己配置ipa上传到自己的部署环境去)
注意点:上面的~/ 如果识别不出来就直接用你电脑的绝对路径就可以了