enkins+GitHub+Xcode+fir搭了一个持续集成环境
原文链接 Coding Duck
今天用Jenkins+GitHub+Xcode+fir搭了一个持续集成环境,把过程记录一下。
1. 安装Jenkins
方法一:直接下载安装包
http://jenkins-ci.org
下载好安装包后打开
![](http://upload-images.jianshu.io/upload_images/232251-84b52e5c87244f72.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
第一步
![](http://upload-images.jianshu.io/upload_images/232251-e2659dfa3e573dff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
第二步
![](http://upload-images.jianshu.io/upload_images/232251-f377f23b3489553f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
第三步
安装完成后在Terminal中输入,即可打开Jenkins。
open /Applications/Jenkins/jenkins.war
方法二:使用命令行安装
安装jenkins
$ brew install jenkins
启动jenkins
$ jenkins
卸载jenkins
$ brew uninstall jenkins
brew无效? 哦 安装homebrew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. 启动Jenkins后使用浏览器访问Jenkins
地址为:http://localhost:8080/
使用安装包安装后会自动打开,如果端口冲突那么请修改端口
defaults write /Library/Preferences/org.jenkins-ci httpPort 7070
访问成功后显示如下
![](http://upload-images.jianshu.io/upload_images/232251-cc8705aeb8114ccd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
成功启动jenkins
3. 安装插件
在系统管理 -> 插件管理中添加如下四个插件
Xcode integration
GIT plugin
Post-Build Script Plug-in
GitHub plugin
下面这两个方式都可以找到插件管理
![](http://upload-images.jianshu.io/upload_images/232251-e76272ee752f7775.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
插件管理1
![](http://upload-images.jianshu.io/upload_images/232251-3597a08b06595631.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
插件管理2
4. 新建一个项目
4.1 点击左侧工具栏"新建",选择第一项"构建一个自由风格的软件项目"
![](http://upload-images.jianshu.io/upload_images/232251-8dd54cb5c7554136.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
创建一个新项目
4.2 基本信息
![](http://upload-images.jianshu.io/upload_images/232251-94694d51387b6517.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
项目基本设置
4.3 源码管理信息
如果你是用的是Git,那就请选择Git,然后输入你的仓库地址
我这里的仓库地址是Github的公有项目。
![](http://upload-images.jianshu.io/upload_images/232251-95b7953d1e1dfe61.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
源码管理
4.4 自动构建时机
这里就是告诉jenkins什么时候自动构建,这里我同时设置了每周一到周五在每天的8点到9点之间执行一次,当然也可以不设置。
![](http://upload-images.jianshu.io/upload_images/232251-a071aaf458312bfc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
构建时机设置
4.5 构建
添加构建步骤 -> Xcode基本信息
- 这里Target请于Xcode项目中Target的名字对应
- Clean before build设置为YES
- Configuration我选择了Release(在Release的时候Archive)
- .ipa filename pattern 随便起个.ipa的名字
- Output directory为.ipa的输出路径,我这里设置为 ${WORKSPACE}/build/
![](http://upload-images.jianshu.io/upload_images/232251-fd5ba132e0a38ad3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Xcode构建设置
添加构建步骤 -> Xcode证书信息
我这里是在上传至Git的项目里已经配置过证书和Provisioning Profiles。
- 打开Unlock Keychain
- Keychain path 设置为 ${HOME}/Library/Keychains/login.keychain
- Keychain password 为你钥匙串的密码
![](http://upload-images.jianshu.io/upload_images/232251-d9d3acefcd6feb9f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Xcode构建步骤
4.6 构建后操作
添加构建后操作步骤
- Execute a set of scripts
- Add build step
- Execute shell
- 在Commad中输入
fir p ${WORKSPACE}/build/TestJenkins.ipa -T #API Token#
其中${WORKSPACE}/build/为4.5中.ipa的输出路径,#API Token#为fir.im的API Token。新版fir.im获取方式见下面。
请注意,在使用该命令前请先确认安装fir-cli,安装命令如下。
sudo gem install fir-cli --no-ri --no-rdoc
上面的命令来自 fir.im 的工具 fir-cli,这是他们的官方使用说明 官方工具 fir-cli 使用说明
![](http://upload-images.jianshu.io/upload_images/232251-4671e790a6c72e56.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
构建后操作
![](http://upload-images.jianshu.io/upload_images/232251-641169053ad0642a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
获取fir API Token
4.7 完成,点击保存。
4.8 点击立即构建。
构建成功标志位置为蓝色,失败为红色。
![](http://upload-images.jianshu.io/upload_images/232251-89238651dcab7886.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
点击立即构建
5 查看fir.im,应用上传成功。
6 问题总结
6.1 login.keychain的路径在哪?
点击"系统管理"中的"系统设置",Xcode Build中的Keychains
Keychains路径获取方式