上一篇:iOS使用Jenkins进行持续集成详细的讲了Mac上面搭建jenkins,接下来将会详细介绍jenkins的实际应用案例。
配置build jenkins
- 进入jenkins主页登录成功后,选择(新建),输入item的名称,选择(构建一个自由风格的软件项目),填写必要的描述信息。
- 源码管理,我这里选择git(我的代码在git上面),(1)Repository URL填写项目的git地址 (2)Credentials选择add添加git的账号,(3)Branch to build 选择当前项目构建的分支。这样每次构建都会从git上拉取对应分支的最新代码到本地对应job的工作空间中。
- 构建触发器,选择触发的条件,我这里选择的是 Build when a change is pushed to GitHub,也就是只要有开发人员提交代码到对应的项目分支,就会立即打包操作。当然你也可以选择其它的条件 Poll SCM 日程表可以填写H/15 ,15分支检查一次是否有提交,如果有提交的就会自动打包。
选择增加构建步骤,里面有一些基本的构建步骤也包含自己当前所需要安装的插件,这里使用的xcode构建项目,当然你也可以自己写打包脚本或者通过fastlane 持续集成工具gym或者shengzhen进行打包操作。
(1) General build settings (build的基本配置)
1
target:选择targets中当前项目需要对应的target
(2) Code signing & OS X keychain options (code sign及钥匙串keychain信息访问,主要是为了打包签名等使用)
1 | Change bundle ID:勾选后,表示打包操作中需要更改当前对应info.plist文件中对应bundle id。主要方便企业版本,appstore版等不同的bundle id需要。 |
(3) Advanced Xcode build options (配置xcode build options)
1 | Xcode Schema File:选择schema,填写当前需要执行的schema的名称。 |
(4) Versioning
1 | Marketing version:CFBundleShortVersionString |
上传ipa文件
一.通过蒲公英Fir上传
1.通过Fir蒲公英上传ipa到账号,这里可以通过脚本,当然也可以通过使用安装fir提供的jenkins插件下载.hpi)配置上传ipa到fir。
以下使用脚本方式:你需要安装fir的命令fir.im-cli,安装fir.im-cli命令可以通过terminal的gem直接安装,参考
1 | gem install fir-cli |
2.选择添加构建步骤Execute shell,填写以下脚本:
1 | #进入ipa生成的目录 |
3.如果你需要通过fir提供的jenkins插件上传到fir相关的,那就在构建步骤添加插件的名称,填写必要的配置信息。可以参考fir jenkins的各种参数配置
二.通过FTP上传到自己的服务器
1.在构建步骤中选择Send build artifacts over FTP前提是你安装了该jenkins插件,具体参考这里!
问题
- jenkins 1.656版本会并且在由于xcode 7出来没多久,且在xcode 7上build setting中多了一个Product Bundle Idenitfier的项,且jenkins没有修改此处的bundle id,导致无法编译通过。所以为了避免这个问题我们可以在对应的configuration下面设置bundle id而不影响其它人,但同时也不允许其它人更改对应configuration的内容。这样限制就会比较麻烦,我们可以通过编写脚本修改bundle id,或者采用接下来的fastlane方式。新版本估计jenkins会将这个问题修复。
参考
1.Jenkins+GitHub+Xcode+fir搭了一个持续集成环境
3.Jenkins Plugins这里有各种各样的插件
4.如果你觉得以上的配置内容不够详细,可以下载详细的配置信息Demohtml查看吧