iOS Fastlane自動構建打包、發布、部署jenkins

整理時間:2017年05月02日13:03:16

注:
1. 均在Xcode8以后環境,Xcode8以前是否適用有待你們自行測試,如果測試了有問題,請留言評論
2. 所有操作均在iTerm2里完成,iTerm2和終端差不多,不過個人習慣,如果對其感興趣的,可以看我關于iTerm2的文檔

1.安裝fastlane

1.打開iTerm2,鍵入以下命令

sudo gem install fastlane -n /usr/local/bin

2.確保Xcode安裝了最新版本的命令行工具

?  ~ xcode-select --install

3.如果你的fastlane加載緩慢,請嘗試運行

?  ~ gem cleanup

2.安裝fir

1.打開iTerm2,鍵入以下命令

?  ~  sudo gem install firim -n /usr/local/bin

2.使用系統自帶的 Ruby 安裝, 需確保 ruby-dev 已被正確的安裝

?  ~ xcode -select --install

3.開始操作項目(注:如果要發布到其他平臺,只需配置相應的API Token,這里只拿fir做講解舉例)

1.進入項目,如圖所示

進入項目文件夾初始化

2.執行fastlane init注意事項
中間會讓讓你按提示輸入蘋果開發者的賬號、密碼,只有蘋果開發者賬號才可以,普通的蘋果賬號是不可以繼續操作的

3.執行完fastlane init后
項目的根目錄會生成fastlane文件夾,里面有fastlane的配置文件,一般一個是AppFile文件,一個是Fastlane文件

AppFile:保存蘋果開發者的相關信息,項目的相關信息等
Fastlane:運行腳本

4.編輯Fastlane文件
注:fastlane文件里面默認的配置信息已經足夠了,但是也有其他的相關需求,如果想完成一般需求,請清空這個文件,將下面的配置文件復制并粘貼到相關位置

# 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

注:我說的指定的打包輸出方式,你們可能不明白,從這張圖,就好明白很多了

ipa導出方式

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

5.申請fir賬號,并獲得api token
訪問https://fir.im/ , 并注冊賬號,獲取APIToken,APIToken如圖所示

04.jpg

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

3.運行

1.打開iTerm2,cd到工程目錄,如圖所示

進入工程目錄

2.執行fastlane ios ci命令,如圖所示

執行fastlane腳本

3.編譯完成,自動上傳到fir,如圖所示

編譯完成結果

4.到fir網站,查看自己上傳的app

進入fir網站查看測試app

4.安裝并部署Jenkins

1.下載Jenkins.war包
點擊這個鏈接 http://mirrors.jenkins.io/war-stable/latest/jenkins.war , 下載最新的Jenkins.war包

2.cd到下載Jenkins.war目錄,執行下面的命令, 如圖所示

java -jar jenkins.war

運行jenkins

3.執行完后,在瀏覽器輸入localhost:8080
4.彈出Jenkins安裝界面,會讓你輸入安全密碼,這個密碼會在安裝提示界面有,讓你輸入這個密碼,選擇默認安裝
5.然后新建管理員用戶密碼
6.下次啟動Jenkins, iTerm2輸入下面的命令

? ~ java -jar /Applications/Jenkins/jenkins.war –httpPort=8080

7.關閉Jenkins,iTerm2輸入下面的命令

? ~ ps 
// 這里是顯示占用的端口,你只要輸入ps查看端口號就好了
PID TTY TIME CMD 
12706 ttys000 0:33.17 /usr/bin/java -jar jenkins.war –httpPort=8080
// 殺死12706進程
? ~ kill -9 12706

8.注意:啟動后ITerm2窗口不要關閉,否則會失去連接
9.所有的都配置完了之后的頁面

配置完成界面

10.配置Jenkins SSH,如圖所示

Credentials -> System -> Add domain

配置SSH步驟1

之后會彈出下圖所示的內容,之后請接11

配置SSH步驟2

11.私鑰與公鑰

? ~ ssh-keygen -t rsa -C "hsuyelin@163.com" 

按照提示操作,遇到密碼,請輸入密碼
然后,執行下面的操作

?  ~ open .ssh

會打開盛放公鑰與私鑰的文件夾,里面有兩個文件,一個是id_rsa(私鑰),一個是id_rsa.pub(公鑰)
打開公鑰,復制里面所有的內容填入托管平臺的SSH處,打開私鑰,復制里面所有的內容按下圖要求填寫

配置jenkins私鑰

12.新建任務
點擊新建,按照如圖所示配置

新建任務
配置git
配置額外腳本

13.構建任務
點擊立即構建

立即構建

構建控制臺

構建過程

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容