目錄
一. 打包原理
二. Jenkins自動(dòng)打包
??1. Jenkins安裝與配置
???1.1 安裝
???1.2 配置
????1.2.1 打包相關(guān)插件
????1.2.2 Keychains配置
????1.2.3 任務(wù)配置
??2. 自動(dòng)上傳托管平臺(tái)
??3. 郵件通知
三. Jenkins權(quán)限管理
四. 可能會(huì)碰到的一些問(wèn)題
一.打包原理
xcode正常打包過(guò)程是需要編譯、歸檔和導(dǎo)出稼钩,這都依賴于自帶的工具成榜,所以了解這些工具的使用是很有必要的水慨。
這里介紹一下xcode最重要的一個(gè)工具xcodebuild蜜自。
- xcodebuild 可以通過(guò)配置相關(guān)參數(shù)來(lái)編譯和導(dǎo)出ipa包
命令名稱 | 描述 |
---|---|
-usage | 查看xcodebuild簡(jiǎn)潔的用法 |
-help | 查看幫助 |
-project | 編譯項(xiàng)目名稱 |
-target | 編譯目標(biāo)名稱 |
-workspace | 工作空間名稱 |
-scheme | 編譯scheme名稱 |
-configuration | 為構(gòu)建每一個(gè)目標(biāo)使用build配置名稱 |
-sdk | 使用指定的SDK編譯項(xiàng)目 |
-toolchain | 使用工具鏈與標(biāo)識(shí)或名稱 |
-showsdks | 顯示已安裝的SDK的列表 |
-list | 列出了在一個(gè)工作空間中的一個(gè)項(xiàng)目的目標(biāo)和配置,或方案 |
-archivePath | 歸檔將被放置的目錄 |
-exportArchive | 制定的歸檔導(dǎo)出路徑 |
我們可以用以上命令來(lái)走一遍正常的打包流程(此處證書為自動(dòng)管理)
編譯:
xcodebuild -workspace "" -scheme "" -configuration ""
-workspace編譯基于 xcworkspace
-scheme 編譯工程名
-configuration 編譯環(huán)境 Debug Release
歸檔:
xcodebuild -workspace "" -scheme "" -configuration "" -archivePath "" archive
archivePath 歸檔路徑
導(dǎo)出:
xcodebuild -exportArchive -archivePath "" -exportPath "" -exportOptionsPlist ""
exportArchive 聲明導(dǎo)出
exportPath 包導(dǎo)出路徑
exportOptionsPlist 導(dǎo)出配置
通過(guò)以上命令舟舒,我們其實(shí)可以直接寫成腳本來(lái)自動(dòng)化執(zhí)行(腳本打包)怠噪,但是如果我們采用jenkins方案來(lái)打包,你會(huì)發(fā)現(xiàn)碌嘀,其實(shí)還可以更簡(jiǎn)單涣旨,更人性化。
二.Jenkins自動(dòng)打包
1.Jenkins安裝與配置
1.1 安裝
homebrew是osx系統(tǒng)自帶的軟件管理工具股冗,我們可以通過(guò)它在終端直接安裝霹陡。
安裝命令:
brew install Jenkins
啟動(dòng)命令:
jenkins
注意啟動(dòng)后終端窗口不要關(guān)閉,否則jenkins服務(wù)會(huì)停止。
如果一切順利烹棉,打開(kāi)瀏覽器輸入:http://localhost:8080/
在打開(kāi)jenkins的時(shí)候攒霹,會(huì)讓你輸入在安裝的時(shí)候生成的password, 如果沒(méi)有保存就根據(jù)提示到對(duì)應(yīng)文件下拷貝,完成之后開(kāi)始安裝對(duì)應(yīng)插件浆洗,建議推薦的插件都安裝(有些關(guān)聯(lián)功能需要催束,如郵箱)。
之后便是開(kāi)始創(chuàng)建用戶
注冊(cè)成功后伏社,我們還需要對(duì)Jenkins做一系列的相關(guān)配置抠刺。
1.2 配置
1.2.1 打包相關(guān)插件
Keychains and Provisioning Profiles Management (本地keychain和iOS證書管理)
Xcode integration (用于xcode構(gòu)建)
打開(kāi)Jenkins管理->插件管理,搜索對(duì)應(yīng)插件下載安裝即可.
網(wǎng)上提供有兩種安裝方式:
方案一:選擇搜索插件名摘昌,勾選安裝
方案二:去Jenkins-plug官網(wǎng)下載插件矫付,然后選高級(jí),上傳.hpi文件.
1.2.2 Keychains配置
打開(kāi)Jenkins管理->配置文件管理
這里需要上傳login.keychain文件第焰,該文件獲取方法买优,在終端中輸入
cd ~/Library/Keychains
鍵入ls見(jiàn)下圖
這里需要上傳login.keychain文件,在新版本的xcode中只有l(wèi)ogin.keychain-db文件挺举,這邊直接拷貝一份出來(lái)杀赢,去掉右后,然后上傳即可湘纵。
Password 開(kāi)機(jī)密碼
Identities 要配置證書的完整名稱
Provisioning Profiles 證書配置文件的路徑 (注意用戶名要替換掉)
1.2.3 開(kāi)始任務(wù)配置
上面的所有配置完成后脂崔,我們就可以新建任務(wù)了,選自由風(fēng)格任務(wù),就會(huì)有如下6項(xiàng)相關(guān)配置:
- General 主要配置一些構(gòu)建版本的相關(guān)策略
- 源碼管理 主要是管理代碼源梧喷,可選git或svn,需要相關(guān)配置
- 構(gòu)建觸發(fā)器 配置版本構(gòu)建的觸發(fā)策略
- 構(gòu)建環(huán)境 配置Keychains
- 構(gòu)建 配置打包環(huán)境砌左、包名、輸出路徑
- 構(gòu)建后操作 配置構(gòu)建成功后的處理(這里需要先去配置上傳托管平臺(tái)铺敌、郵件)
job_config_0.png
job_config_1.png
job_config_2.png
job_config_3.png
job_config_4_0.png
job_config_4_1.png
job_config_4_2.png
job_config_5_0.png
job_config_5_1.png
job_config_5_2.png
以上全部配置完后點(diǎn)保存汇歹,便可以開(kāi)始使用了
最后放一個(gè)打包完,自動(dòng)上傳并郵件通知的截圖
2.自動(dòng)上傳托管平臺(tái)
首先需要安裝對(duì)應(yīng)托管平臺(tái)的插件,我們平常用的fir和pgyer官網(wǎng)上都有對(duì)應(yīng)的Jenkins插件,
下載對(duì)應(yīng)的插件偿凭,然后到Jenkins管理->插件管理->高級(jí) 上傳插件即可.
上傳后可在任務(wù)配置中選擇要上傳的平臺(tái)产弹。
3.郵件通知
首先我們到Jenkins管理->系統(tǒng)配置,在下面可以配置相關(guān)的郵件地址和內(nèi)容
保存 over.
三.Jenkins權(quán)限管理
如果需要對(duì)不同項(xiàng)目和用戶進(jìn)行權(quán)限管理弯囊,則需要安裝插件Role-based Authorization Strategy
四.可能會(huì)碰到的一些問(wèn)題
1.找不到xcodebuild命令痰哨,可能是安裝了多個(gè)版本的xcode,最后導(dǎo)致指向路徑不對(duì),可通過(guò)下面進(jìn)行配置
或直接用xcode-select命令去指向
- xcode-select -p 查看xcode指向路徑
- xcode-select -s 切換指定的路徑
2.Archive成功,export ipa文件時(shí)失敗,報(bào)以下錯(cuò)誤:error: exportArchive: The data couldn’t be read because it isn’t in the correct format
- jenkins在導(dǎo)出包的時(shí)候匾嘱,好像不支持bitcode斤斧,這里需要在jenkins配置,構(gòu)建里邊取消bitcode(有知道不用的取消的還請(qǐng)告知)霎烙。
參考