iOS Fastlane自動(dòng)構(gòu)建打包、發(fā)布、部署jenkins

整理時(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)目,如圖所示

進(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ō)的指定的打包輸出方式,你們可能不明白,從這張圖,就好明白很多了

ipa導(dǎo)出方式

圖中自上而下分別為:
app-store
ad-hoc
enterprise
development

5.申請(qǐng)fir賬號(hào),并獲得api token
訪問(wèn)https://fir.im/ , 并注冊(cè)賬號(hào),獲取APIToken,APIToken如圖所示

04.jpg

6.將獲取到的APIToken置換到fastlane文件中

3.運(yùn)行

1.打開(kāi)iTerm2,cd到工程目錄,如圖所示

進(jìn)入工程目錄

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

執(zhí)行fastlane腳本

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

編譯完成結(jié)果

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

進(jìn)入fir網(wǎng)站查看測(cè)試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

運(yùn)行jenkins

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

配置SSH步驟1

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

配置SSH步驟2

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ě)

配置jenkins私鑰

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

新建任務(wù)
配置git
配置額外腳本

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

立即構(gòu)建

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

構(gòu)建過(guò)程

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容