Jenkins+Xcode9 自動(dòng)打包并上傳到蒲公英

一、安裝JAVA環(huán)境

1. 官網(wǎng)下載JAVA JDK,按如圖所示選擇并下載安裝
下載JAVA JDK

安裝后測(cè)試是否成功安裝, 在終端輸入命令:java -version
如圖所示顯示了安裝的版本則安裝成功

JAVA JDK安裝成功

二、安裝Jenkins

1. 使用Homebrew的命令行進(jìn)行安裝

在終端輸入命令:brew install jenkins
如果沒(méi)有安裝Homebrew,則需要先安裝。
【Homebrew 安裝方法】:前往Homebrew官網(wǎng),直接拷貝官網(wǎng)頁(yè)面上的命令,在終端運(yùn)行即可。

2.啟動(dòng)Jenkins

在終端輸入命令:jenkins

3.打開(kāi)瀏覽器,輸入localhost:8080

可看到Jenkins的web界面,需要填寫(xiě)密碼,在網(wǎng)頁(yè)頁(yè)面所說(shuō)的地址(/Users/電腦用戶(hù)名/.jenkins/secrets/initialAdminPassword),打開(kāi)文件,拷貝文本內(nèi)容,復(fù)制到網(wǎng)頁(yè)的"管理員密碼處",點(diǎn)擊繼續(xù)

Jenkins初始界面

插件安裝過(guò)程
4.點(diǎn)擊“開(kāi)始使用kenkins”

進(jìn)入管理員賬戶(hù)設(shè)置頁(yè)面。填寫(xiě)相關(guān)信息,然后點(diǎn)擊“保存并完成”
PS:這個(gè)是管理員用戶(hù),用戶(hù)名和密碼一定要記住,否則忘了的話找回比較麻煩。

創(chuàng)建管理員用戶(hù)
5.管理插件

系統(tǒng)管理—》插件管理—》可選插件—》過(guò)濾 中搜索需要安裝的插件
我們要安裝的插件有:Keychains and Provisioning Profiles Management

管理插件入口

三、項(xiàng)目新建和設(shè)置

1. Keychains and Provisioning Profiles Management配置

系統(tǒng)管理—》Keychains and Provisioning Profiles Management

Keychains and Provisioning Profiles Management界面

(1) Keychains是上傳login.keychain文件
進(jìn)入【/Users/電腦用戶(hù)名/Library/keychains/】文件夾,里面有l(wèi)ogin.keychain-db文件,復(fù)制出來(lái)命名去掉后面的-db

login.keychain目錄

點(diǎn)擊選取文件—》找到剛才保存的login.keychain —》upload

上傳login.keychain后到配置

PS1:login.keychain文件上傳后,界面會(huì)添加新的東西(Filename、Password等)。有的電腦會(huì)自動(dòng)添加Code Signing Identity的數(shù)據(jù),有的電腦不會(huì)自動(dòng)添加;有的添加了,但是只添加了一個(gè)。可以通過(guò)點(diǎn)擊界面的“Add Code Signing Identity”來(lái)添加上。
PS2:證書(shū)名字我們可以到鑰匙串,找到對(duì)應(yīng)的證書(shū),復(fù)制證書(shū)的名字(整個(gè)名字都要復(fù)制上),粘貼到界面的Code Signing上。

拷貝證書(shū)的名字

(2)上傳Provisioning Profile File文件
為了測(cè)試使用一般是打ADHoc包,所以這里上傳ADHoc Provisioning Profile,點(diǎn)擊選取文件,進(jìn)入本地【/Users/電腦用戶(hù)名/Library/MobileDevice/Provisioning Profiles】文件中,選擇對(duì)應(yīng)項(xiàng)目的 Provisioning Profile文件并upload,上傳完成后,界面也會(huì)新增新的內(nèi)容(Filename、UUID)。上傳完P(guān)rovisioning Profile,我們還需要填寫(xiě)Provisioning Profiles Directory Path。這個(gè)地址是固定死的,比較簡(jiǎn)單,統(tǒng)一填寫(xiě)【/Users/電腦用戶(hù)名 /Library/MobileDevice/Provisioning Profile】即可
PS1:【/Users/電腦用戶(hù)名/Library/MobileDevice/Provisioning Profiles】中可能安裝了很多的Provisioning Profile,分不清需要哪個(gè)只能全部刪除去蘋(píng)果開(kāi)發(fā)者中心重新下載安裝再選擇,并且哪個(gè)項(xiàng)目對(duì)應(yīng)的Provisioning Profile也要記請(qǐng),后面創(chuàng)建項(xiàng)目時(shí)需要選擇對(duì)應(yīng)的Provisioning Profile。
PS2:要有多個(gè)Provisioning Profile的話,我們需要走多次上傳流程。(同樣的上傳流程。先上傳第一個(gè)Provisioning Profile,然后再上傳第二個(gè)Provisioning Profile)。

上傳Provisioning Profile File成功頁(yè)面

點(diǎn)擊左下方“保存”按鈕。至此,Keychains and Provisioning Profiles Management配置完成

2.點(diǎn)擊首頁(yè)新建任務(wù)

選擇“構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目”。
PS:這里的任務(wù)名稱(chēng)還是寫(xiě)我們的APP項(xiàng)目名比較好。后面的配置會(huì)用到這個(gè)任務(wù)名稱(chēng)

image.png
3.配置項(xiàng)目

(1) Generai 可不選擇

(2) 源碼管理

源碼管理

到了這一步,我們應(yīng)該已經(jīng)可以正常拉取代碼了。點(diǎn)擊任務(wù)頁(yè)面的“立即構(gòu)建”。點(diǎn)擊之后,build History 會(huì)顯示build的進(jìn)度條。如果代碼能正常拉取,則該構(gòu)建是藍(lán)色的,拉取的代碼可以到【/Users/電腦用戶(hù)名/.jenkins/workspace/】目錄中查看

立即構(gòu)建和拉取代碼成功

(3) 構(gòu)建觸發(fā)器 可不選擇

(4) 構(gòu)建環(huán)境
勾選Keychains and Code Signing Identities和Mobile Provisioning Profiles,第一次選擇可能頁(yè)面上內(nèi)容沒(méi)有被填充,這時(shí)先點(diǎn)保存退出去,再?gòu)奈业囊晥D中選擇剛剛創(chuàng)建的該項(xiàng)目進(jìn)來(lái)看到這兩項(xiàng)已經(jīng)被自動(dòng)填充了,Code Signing Identity選擇發(fā)布證書(shū),Provisioning Profiles選擇項(xiàng)目對(duì)應(yīng)的

構(gòu)建環(huán)境設(shè)置成功
5.構(gòu)建

(1)選擇增加構(gòu)建步驟—》執(zhí)行shell

選擇執(zhí)行shell

腳本命令中填寫(xiě)

SHCEME=項(xiàng)目名
CONFIGURATION=Release
WORKSPACE_PATH=${WORKSPACE}/項(xiàng)目名.xcworkspace
EXPORT_OPTIONS=${WORKSPACE}/ExportOptions.plist
ArchivePath=${WORKSPACE}/build/項(xiàng)目名.xcarchive
PacktName=${WORKSPACE}/build/項(xiàng)目名.ipa
#先清空前一次build
xcodebuild clean -workspace ${WORKSPACE_PATH} -scheme ${SHCEME} -configuration ${CONFIGURATION}
#achive
xcodebuild archive -workspace ${WORKSPACE_PATH} -scheme ${SHCEME} -configuration ${CONFIGURATION} -sdk iphoneos -archivePath ${ArchivePath}
#導(dǎo)出ipa
xcodebuild -exportArchive -archivePath ${ArchivePath} -exportPath ${PacktName} -exportOptionsPlist ${EXPORT_OPTIONS}

注意
<1>如果項(xiàng)目不是cocopods集成的,上面的xcworkspace改為xcodeproj,-workspace改為- project
<2>需要打包的項(xiàng)目根目錄下必須添加ExportOptions.plist,否則會(huì)打包失敗,不知道怎么寫(xiě)的可以手動(dòng)打包將生成的ExportOptions.plist文件添加進(jìn)來(lái)上傳到svn
<3>需要打包的項(xiàng)目target—general中不能選擇自動(dòng)管理證書(shū),要選擇Adhoc環(huán)境的Provisioning Profiles,再上傳到svn,否則會(huì)打包失敗

(2)上傳到蒲公英
再次選擇增加構(gòu)建步驟—》執(zhí)行shell
腳本命令:

curl -F "file=@/Users/wangtingting/.jenkins/workspace/jenkins中創(chuàng)建的項(xiàng)目名/build/項(xiàng)目名.ipa/項(xiàng)目名.ipa" -F "uKey=User Key" -F "_api_key=API Key" http://www.pgyer.com/apiv1/app/upload

PS:User Key和API Key在登錄的蒲公英中查找

?著作權(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)容