整理時(shí)間:2017年05月02日13:03:16
注:
1. 均在Xcode8以后環(huán)境,Xcode8以前是否適用有待你們自行測(cè)試,如果測(cè)試了有問(wèn)題,請(qǐng)留言評(píng)論
2. 所有操作均在iTerm2里完成,iTerm2和終端差不多,不過(guò)個(gè)人習(xí)慣,如果對(duì)其感興趣的,可以看我關(guān)于iTerm2的文檔
1.安裝fastlane
1.打開(kāi)iTerm2,鍵入以下命令
sudo gem install fastlane -n /usr/local/bin
2.確保Xcode安裝了最新版本的命令行工具
? ~ xcode-select --install
3.如果你的fastlane加載緩慢,請(qǐng)嘗試運(yùn)行
? ~ gem cleanup
2.安裝fir
1.打開(kāi)iTerm2,鍵入以下命令
? ~ sudo gem install firim -n /usr/local/bin
2.使用系統(tǒng)自帶的 Ruby 安裝, 需確保 ruby-dev 已被正確的安裝
? ~ xcode -select --install
3.開(kāi)始操作項(xiàng)目(注:如果要發(fā)布到其他平臺(tái),只需配置相應(yīng)的API Token,這里只拿fir做講解舉例)
1.進(jìn)入項(xiàng)目,如圖所示

2.執(zhí)行fastlane init注意事項(xiàng)
中間會(huì)讓讓你按提示輸入蘋(píng)果開(kāi)發(fā)者的賬號(hào)、密碼,只有蘋(píng)果開(kāi)發(fā)者賬號(hào)才可以,普通的蘋(píng)果賬號(hào)是不可以繼續(xù)操作的
3.執(zhí)行完fastlane init后
項(xiàng)目的根目錄會(huì)生成fastlane文件夾,里面有fastlane的配置文件,一般一個(gè)是AppFile文件,一個(gè)是Fastlane文件
AppFile:保存蘋(píng)果開(kāi)發(fā)者的相關(guān)信息,項(xiàng)目的相關(guān)信息等
Fastlane:運(yùn)行腳本
4.編輯Fastlane文件
注:fastlane文件里面默認(rèn)的配置信息已經(jīng)足夠了,但是也有其他的相關(guān)需求,如果想完成一般需求,請(qǐng)清空這個(gè)文件,將下面的配置文件復(fù)制并粘貼到相關(guān)位置
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
platform :ios do
desc "Test app"
lane :adhocR do
increment_build_number_in_plist(target: 'Test')
xcode_select "/Applications/Xcode.app"
gym(
silent: true,
clean: true,
workspace: "Test.xcworkspace",
scheme: "Test",
include_bitcode: false,
include_symbols: false,
export_method: "ad-hoc",
output_directory: "./fastlane/build/adhocR",
output_name: "Test_adHocR")
firim(
firim_api_token: "396e097bb4b88b012474fcc7c0XXXXXX")
end
lane :adhocD do
increment_build_number_in_plist(target: 'Test')
xcode_select "/Applications/Xcode.app"
gym(
silent: true,
clean: true,
workspace: "Test.xcworkspace",
scheme: "Test",
include_bitcode: false,
include_symbols: false,
export_method: "ad-hoc",
output_directory: "./fastlane/build/adhocD",
output_name: "Test_adHocD")
pgyer(
api_key: "215930df29d28b3b383ce3b45dbXXXXX",
user_key: "68413ffb92d28a126729c6537aaXXXXX")
end
end
注:我說(shuō)的指定的打包輸出方式,你們可能不明白,從這張圖,就好明白很多了

圖中自上而下分別為:
app-store
ad-hoc
enterprise
development
5.申請(qǐng)fir賬號(hào),并獲得api token
訪問(wèn)https://fir.im/ , 并注冊(cè)賬號(hào),獲取APIToken,APIToken如圖所示

6.將獲取到的APIToken置換到fastlane文件中
3.運(yùn)行
1.打開(kāi)iTerm2,cd到工程目錄,如圖所示

2.執(zhí)行fastlane ios ci命令,如圖所示

3.編譯完成,自動(dòng)上傳到fir,如圖所示

4.到fir網(wǎng)站,查看自己上傳的app

4.安裝并部署Jenkins
1.下載Jenkins.war包
點(diǎn)擊這個(gè)鏈接 http://mirrors.jenkins.io/war-stable/latest/jenkins.war , 下載最新的Jenkins.war包
2.cd到下載Jenkins.war目錄,執(zhí)行下面的命令, 如圖所示
java -jar jenkins.war

3.執(zhí)行完后,在瀏覽器輸入localhost:8080
4.彈出Jenkins安裝界面,會(huì)讓你輸入安全密碼,這個(gè)密碼會(huì)在安裝提示界面有,讓你輸入這個(gè)密碼,選擇默認(rèn)安裝
5.然后新建管理員用戶密碼
6.下次啟動(dòng)Jenkins, iTerm2輸入下面的命令
? ~ java -jar /Applications/Jenkins/jenkins.war –httpPort=8080
7.關(guān)閉Jenkins,iTerm2輸入下面的命令
? ~ ps
// 這里是顯示占用的端口,你只要輸入ps查看端口號(hào)就好了
PID TTY TIME CMD
12706 ttys000 0:33.17 /usr/bin/java -jar jenkins.war –httpPort=8080
// 殺死12706進(jìn)程
? ~ kill -9 12706
8.注意:?jiǎn)?dòng)后ITerm2窗口不要關(guān)閉,否則會(huì)失去連接
9.所有的都配置完了之后的頁(yè)面

10.配置Jenkins SSH,如圖所示
Credentials -> System -> Add domain

之后會(huì)彈出下圖所示的內(nèi)容,之后請(qǐng)接11

11.私鑰與公鑰
? ~ ssh-keygen -t rsa -C "hsuyelin@163.com"
按照提示操作,遇到密碼,請(qǐng)輸入密碼
然后,執(zhí)行下面的操作
? ~ open .ssh
會(huì)打開(kāi)盛放公鑰與私鑰的文件夾,里面有兩個(gè)文件,一個(gè)是id_rsa(私鑰),一個(gè)是id_rsa.pub(公鑰)
打開(kāi)公鑰,復(fù)制里面所有的內(nèi)容填入托管平臺(tái)的SSH處,打開(kāi)私鑰,復(fù)制里面所有的內(nèi)容按下圖要求填寫(xiě)

12.新建任務(wù)
點(diǎn)擊新建,按照如圖所示配置



13.構(gòu)建任務(wù)
點(diǎn)擊立即構(gòu)建

構(gòu)建控制臺(tái)

14.注意
1)構(gòu)建盡量保證完整提交
2)如果想構(gòu)建其他分支,在任務(wù)配置中,修改分支