最近公司項目需要將我們的產(chǎn)品自動打包給測試人員測試,安卓方面已經(jīng)用jenkins做到了伦吠,我們之前沒有時間研究這個根暑,這段時間稍微閑下來,我花了兩天時間實現(xiàn)這個功能贮预。
主要是基于jenkins+SVN+XCode+fir的集成
首先我們需要準備好幾個工具(以下工具均為MAC系統(tǒng)版本)
1.jenkins安裝包
2.java jdk安裝包
3.fir的插件fir-plugin
4.fir-cil
1.安裝Jenkins
通過上面的鏈接下載安裝包贝室,下載好安裝包后打開
Image
Image
Image
安裝完成后在Terminal中輸入,即可打開Jenkins仿吞。
$open /Applications/Jenkins/jenkins.war
安裝jenkins
$ brew install jenkins
啟動jenkins
$ jenkins
卸載jenkins
$ brew uninstall jenkins
2.啟動Jenkins后使用瀏覽器訪問Jenkins
地址為:http://localhost:8080/
使用安裝包安裝后會自動打開滑频,如果端口沖突那么請修改端口
defaults write /Library/Preferences/org.jenkins-ci httpPort 7070
訪問成功后顯示如下
Image
3.安裝插件
在系統(tǒng)管理 -> 插件管理中添加如下四個插件
Xcode integration
Post-Build Script Plug-in
下面這兩個方式都可以找到插件管理
Image
Image
- 新建一個項目
4.1 點擊左側(cè)工具欄"新建",選擇第一項"構(gòu)建一個自由風格的軟件項目"
Image
4.2 基本信息
Image
4.3 源碼管理信息
這里用的是SVN
Image
4.4 自動構(gòu)建時機
這里就是告訴jenkins什么時候自動構(gòu)建,這里我同時設(shè)置了每周一到周五在每天的8點到9點之間執(zhí)行一次,當然也可以不設(shè)置
Image
4.5 構(gòu)建
添加構(gòu)建步驟 -> Xcode基本信息
- 這里Target請于Xcode項目中Target的名字對應(yīng)
- Clean before build設(shè)置為YES
- Configuration我選擇了Release(在Release的時候Archive)
- .ipa filename pattern 隨便起個.ipa的名字
- Output directory為.ipa的輸出路徑唤冈,我這里設(shè)置為 $ {WORKSPACE}/build/
Image
添加構(gòu)建步驟 -> Xcode證書信息 我這里是在上傳至SVN的項目里已經(jīng)配置過證書和Provisioning Profiles
- 打開Unlock Keychain
- Keychain path 設(shè)置為 ${HOME}/Library/Keychains/login.keychain
- Keychain password 為你鑰匙串的密碼(也就是你電腦的登陸密碼)
Image
4.6 構(gòu)建后的操作
添加構(gòu)建后操作步驟
- 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 使用說明
Image
4.7 完成,點擊保存
4.8 點擊立即構(gòu)建
構(gòu)建成功標志位藍色挟伙,失敗為紅色
Image
查看fir.im,應(yīng)用上傳成功楼雹。
問題總結(jié)
login.keychain的路徑在哪模孩?