iOS自動(dòng)化構(gòu)建--Jenkins

Jenkins是開(kāi)源CI&CD軟件領(lǐng)導(dǎo)者, 提供超過(guò)1000個(gè)插件來(lái)支持構(gòu)建、部署、自動(dòng)化, 滿足任何項(xiàng)目的需要。

準(zhǔn)備工作

Java 8 ( JRE 或者 JDK 都可以)和homebrew

java8可以下載安裝或者

$ brew cask install homebrew/cask-versions/java8

java安裝完成后輸入

$ brew install jenkins

成功后需要啟動(dòng)jenkins,jenkins的啟動(dòng)\關(guān)閉\重啟

$ brew services start jenkins
$ brew services stop jenkins
$ brew services restart jenkins

jenkins 配置

服務(wù)啟動(dòng)后,瀏覽器輸入http://localhost:8080/,按照頁(yè)面提示找到密鑰并繼續(xù)

初始化后安裝推薦插件(建議安裝),并按照提示創(chuàng)建用戶(印象中賬號(hào)密碼忘記會(huì)比較麻煩)

image

到此本地jenkins初始化完成

插件和插件配置

進(jìn)入插件管理,選擇可選插件選項(xiàng),在搜索欄中搜索出我們需要的插件進(jìn)行安裝,插件安裝是一個(gè)漫長(zhǎng)的過(guò)程耐心等待

image

我這里安裝的插件為

1.Keychains and Provisioning Profiles Management(該插件將針對(duì)iOS和OSX項(xiàng)目的鑰匙串和移動(dòng)供應(yīng)配置文件管理集成到Jenkins中。)

2.Xcode integration(該插件增加了調(diào)用Xcode命令行工具的能力,以自動(dòng)構(gòu)建和打包iOS應(yīng)用程序。)

3.Git Parameter(該插件直接使用了 Git插件 Git客戶端插件。)

配置

Keychains and Provisioning Profiles Management

1.從系統(tǒng)管理進(jìn)入

image

2.文件準(zhǔn)備

鑰匙串文件

~/Library/Keychains/login.keychain-db

打包的描述文件

~/Library/MobileDevice/Provisioning Profiles/

在find中command+shift+g進(jìn)入文件路徑

3.上傳文件
本地Keychain文件后綴導(dǎo)游-db,直接上傳是無(wú)效的,需要把 login.keychain-db復(fù)制出來(lái)重命名去掉后綴-db,然后上傳
Password是本機(jī)密碼
Code Signing Identity 去鑰匙串找到開(kāi)發(fā)者證書(shū)名稱(chēng)并填寫(xiě)

image

Provisioning Profiles文件可以上傳多個(gè),默認(rèn)路徑為
/Users/用戶名/Library/MobileDevice/Provisioning Profiles
最后save即可

Xcode integration配置

同樣從系統(tǒng)管理-Configure System-Xcode Builder,填寫(xiě)你的開(kāi)發(fā)者信息

image

創(chuàng)建項(xiàng)目

我的視圖-新建任務(wù)

image

刪除舊緩存,按需求設(shè)置

image

源碼管理

這里以git為例

image

點(diǎn)擊添加-jenkins,可以通過(guò)賬號(hào)密碼或者ssh來(lái)登錄git

image

完成后可以保存,出去build一下,可以在輸入日志里邊看到git本地路徑(如果需要腳本修改項(xiàng)目配置會(huì)用到)

構(gòu)建環(huán)境

先選擇這兩項(xiàng),然后保存,再回來(lái)這里就會(huì)有內(nèi)容自動(dòng)填充了

image
image

構(gòu)建

在xcode構(gòu)建前,可以添加shell構(gòu)建執(zhí)行你本地的腳本.sh文件

image
xcode
'Development Team' (選擇你的團(tuán)隊(duì))
'Target'(如果有多個(gè)工程target 需要填,否則忽略)
'Clean before build' (建議勾選,等于xcode clean)
'Configuration' (編譯模式 'Release' 或者 'Debug')
'Xcode Schema File' (你要打包的項(xiàng)目名字)
'Generate Archive' (建議勾選,Archive是否保留)
image
'Pack application, build and sign .ipa?'(這個(gè)勾選了才有下邊的選項(xiàng))
'Export method' (打包方式,只能填寫(xiě) 'development', 'ad-hoc', 'enterprise' or 'app-store')
'.ipa filename pattern' (打包后的ipa 名字)
'Output directory' (ipa 輸出路徑)
image
'Automatic Signing'(自動(dòng)配置,前提是你的鑰匙串和描述文件配置無(wú)誤)
'Read from Xcode Project'(xcode配置)
'Manual signing'(手動(dòng)選擇描述文件)
'Change bundle ID?'(需要輸入新的id和info.plist文件路徑)
image

到這里xcode 配置就完成了,這個(gè)時(shí)候我們?nèi)?gòu)建一次,構(gòu)建成功后在剛剛填寫(xiě)ipa輸出路徑就可以看到一些文件了

執(zhí)行shell
//驗(yàn)證ipa
xcrun altool --validate-app -f 剛才導(dǎo)出ipa的路徑/.ipa -t iOS -u 開(kāi)發(fā)者賬號(hào) -p 雙重驗(yàn)證的密碼
//上傳ipa到AppStore
xcrun altool --upload-app -f 剛才導(dǎo)出ipa的路徑/.ipa -t iOS -u 開(kāi)發(fā)者賬號(hào) -p 雙重驗(yàn)證的密碼
最后編輯于
?著作權(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ù)。

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