环境:iMac OS X EL 10.11.3
一、搭建jenkins环境
1.1 jenkins.pkg 下载地址:
或者:
1.2 Jenkins war download:
pkg安装时注意:
启动:jenkins环境:
pkg:默认安装路径:/Applications/Jenkins/jenkins.war
启动jenkins:cd path/Jenkins/ java -jar jenkins.war;
安装完成之后,Safari可能会自动打开,如果没有自动打开,打开浏览器,输入http://localhost:8080;
这个时候可能会报一个错误。如果出现了这面的问题。出现这个问题的原因就是Java环境有问题.
这个时候如果你重启电脑会发现Jenkins给你新增了一个用户,名字就叫Jenkins,不过这个时候你不知道密码。因为初始密码很复杂。这个时候正确做法是打开http://localhost:8080 会出现下图的重设初始密码的界面。
按照提示,找到/Users/Shared/Jenkins/Home/ 这个目录下,不同的电脑可能路径不一样;根据提示找到路径下的存储密码的文件;
打开initialAdminPassword文件,复制出密码,就可以填到网页上去重置密码了。如下图
二、注册gitHub 账号上传iOS项目;
说明:上传到gitHub的iOS 项目;要确保本地可以打包成功的;
xcode项目说明:注意开发者证书与配置文件的正确性,此处不累赘;
三、配置jenkins环境;
3.1系统管理->插件管理中安装:
Xcode: Xcode integration
gitHub:GitHub plugin、Gitlab Hook Plugin
Xcode:Xcode integration
GIT:Git plugin
Post-Build Script Plug-in
fir-cli: fir-plugin
jddeiMac:~ iosTest$ gem install fir-cli
Fetching: CFPropertyList-2.3.3.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/local/lib/ruby/gems/2.3.0 directory.
jddeiMac:~ iosTest$ sudo chown -R iosTest /usr/local/lib/ruby/
jddeiMac:~ iosTest$ gem install fir-cli
Fetching: fir-cli-1.5.0.gem (100%)
______________ ________ ____
/ ____/ _/ __ \ / ____/ / / _/
/ /_ / // /_/ /_____/ / / / / /
/ __/ _/ // _, _/_____/ /___/ /____/ /
/_/ /___/_/ |_| \____/_____/___/
## 更新记录
### fir-cli 1.5.0
- 修正 build 后直接 -p 发布的权限错误
- 增加上传时候设置密码及公开访问权限
- 增加 build_ipa 中的 destination 参数
- 详细更新记录, 请查看: https://github.com/FIRHQ/fir-cli/blob/master/CHANGELOG
- [fir-cli](https://github.com/FIRHQ/fir-cli) 已经开源
- 欢迎 fork, issue 和 pull request
Successfully installed fir-cli-1.5.0
13 gems installed
jddeiMac:~ iosTest$ fir -v
✈ fir-cli 1.5.0
fir-plugin-1.9.4-3.hpi 下载地址
图解:
添加证书:
Jenkins->Credentials->System
四、注册fir.im账号并上传项目
上传.ipa包命令:
fir p ${WORKSPACE}/build/TestJenkins.ipa -T 5bb225442451e
参考资料:
gitHub的简单使用说明
gitHub简单使用教程
git简易指南
reset/revert回退回滚取消提交
深入浅出Git权限校验
Jenkins+GitHub+Xcode+fir
手把手教你搭建Jenkins持续集成iOS项目
fir_cli 上传
fir.im Jenkins 插件使用方法
Xcode 打包
Xcode 自动打包
Certificates & Identifiers & Provisioning Profiles