iOS搭建CI持续集成环境
Feb 29, 2016
前言 Continuous integration
CI 是敏捷开发的必备,简单说就是有这样一套工具,使得开发人员做好开发和单元测试再 push 代码后就不用管了,这套工具能自动地 check 代码的变化,自动 build, 自动做集成测试和场景测试等,自动部署到生产环境。
本文为iOS下的自动化打包,搭建可持续集成环境,省去给测试安装新版本的时间,提高工作效率。这里选择的方案是Jenkins+ Gitlab/Github+Xcode+Fir。
安装Jenkins
先安装homebrew,安装过的跳过这步
1 | $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
然后
1 | $ brew install jenkins |
若遇到
1 | jenkins: Java 1.6+ is required to install this formula. |
按照提示安装java环境,推荐去java官网下载。
安装完成后浏览器会自动打开Jenkins页面(http://localhost:8080)
或输入
1 | $ open /Applications/Jenkins/jenkins.war |
若端口有冲突,则修改端口
1 | $ defaults write /Library/Preferences/org.jenkins-ci httpPort yourport |
再安装插件,在到jenkins页面,插件管理中安装以下插件
1 | GIT plugin |
安装fir-cli,详细的参考文档
1 | $ sudo gem install fir-cli |
新建项目
新建一个项目,选择自由风格的软件项目。
继续填写基本信息与源码管理,若选用Git则需注意填写Repositories地址与 Branches to build
构建配置
添加构建触发器,这里就是告诉Jenkins什么时候自动构建。
这里选择的是有push到github时构建,也可以选Poll SCM设置构建时间
这里的配置为周一到周五每天8点到9点之间执行一次。
选择构建配置为Execute Shell,填入
1 | fir build_ipa ${WORKSPACE1} -o ${WORKSPACE2}/TestJenkins.ipa -p -T #API Token# |
- WORKSPACE1——–为项目路径
- WORKSPACE2——–ipa输出路径
- #API Token#————fir API Token
然后保存退出。
构建
建议逐步构建,避免错误,构建历史如下
蓝色的为构建成功,红色为失败,若遇到以下类似的错误
1 | PluginLoading: Required plug-in compatibility UUID F41BD31E-2683-44B8- |
可以参考stackoverflow。
发布
构建成功后就可以在fir上看到应用了,扫码或打开短链接下载应用。
注意这里只能安装开发者账号设备列表里的设备,个人开发者账号和企业账号有所区别
详情可以查看fir support。