iOS+Jenkins+git+蒲公英 (iOS自動(dòng)打包)

1桥狡、Jenkins的安裝與啟動(dòng)

open /Applications/Jenkins/jenkins.war
  • 方式二:使用homebrew

    1. 安裝 homebrew(如果已經(jīng)安裝掰茶,跳過(guò)此步)
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
    1. 安裝 Jenkins
    brew install jenkins     
    

    3.啟動(dòng) Jenkins

    jenkins
    

2、訪問(wèn)Jenkins

  • 當(dāng)Jenkins啟動(dòng)后,瀏覽器中輸入 http://localhost:8080/

  • 使用安裝包安裝會(huì)自動(dòng)彈出了瀏覽器打開(kāi)

  • 如果端口沖突那么請(qǐng)修改端口

defaults write /Library/Preferences/org.jenkins-ci httpPort xxxx
  • 請(qǐng)前往圖中紅字所示地址


    受保護(hù)-請(qǐng)修改文件訪問(wèn)權(quán)限
  • 修改文件訪問(wèn)權(quán)限后来涨,進(jìn)入該文件夾中,將initialAdminPassword中的密碼拷貝到輸入框启盛,點(diǎn)擊continue

  • 下載插件


    選擇左邊-安裝建議的插件
  • 插件安裝中蹦掐。。僵闯。


    插件安裝中
  • 插件安裝完畢卧抗,創(chuàng)建賬戶(hù)->Save and Finish

    創(chuàng)建管理員賬戶(hù)

  • 賬戶(hù)創(chuàng)建成功

3、Jenkins插件安裝

  • 依次安裝以下Jenkins插件
GitLab
Xcode integration
Keychains and Provisioning Profiles Management
  • 插件安裝步驟


    進(jìn)入插件管理頁(yè)面

    搜索并安裝插件

4鳖粟、創(chuàng)建Jenkins任務(wù)

  • 回到Jenkins首頁(yè)社裆,點(diǎn)擊新建
    創(chuàng)建Jenkins任務(wù)

5、配置剛剛創(chuàng)建好的Jenkins任務(wù)

5.1向图、設(shè)置源碼管理(這里我們使用的是git)

配置Git遠(yuǎn)程倉(cāng)庫(kù)
  • 設(shè)置Gredentials


    進(jìn)入Gredentials頁(yè)面

    創(chuàng)建

    配置
  • 如果不清楚上如中的Key, 應(yīng)該填什么泳秀,請(qǐng)看下面
    1、前往文件夾

 ~/.ssh/id_rsa

2榄攀、用文本編輯器打開(kāi)id_rsa, 拷貝里面的內(nèi)容到上圖中Key的輸入框嗜傅,如下圖

~/.ssh/id_rsa

  • 配置好Credential, 點(diǎn)擊ok,再次回到項(xiàng)目的源碼管理,選擇Gredentials為我們剛剛創(chuàng)建的檩赢,如圖
    選擇Gredentials

5.2吕嘀、設(shè)置構(gòu)建觸發(fā)器(可以觸發(fā)構(gòu)建操作的配置)

非必填,不配置的話(huà)需要手動(dòng)點(diǎn)擊構(gòu)建

5.3、設(shè)置構(gòu)建環(huán)境币他,這里我們選擇Keychains and Code Signing Identities

  • 勾選Keychains and Code Signing Identities

  • 配置KeychainProvisioning Profiles

    • 保存后進(jìn)入Keychains and Provisioning Profiles Management頁(yè)面坞靶,如果沒(méi)有該選項(xiàng),請(qǐng)參考上述第三步:Jenkins插件安裝來(lái)安裝Keychains and Provisioning Profiles Management插件
      進(jìn)入`Keychains and Provisioning Profiles Management`頁(yè)面
配置`Keychain`和` Provisioning Profiles`

上圖中的的`Code Sining Identities`來(lái)源(鑰匙串中)
  • 注意:保存后蝴悉,在/Users/Shared/Jenkins文件夾下如圖:

    需要出現(xiàn)`Keychains`和`MobileDevice`文件夾

    如果未出現(xiàn):
    1彰阴、直接將/Users/‘你的用戶(hù)名’/Library/Keychains文件夾拷貝到/Users/Shared/Jenkins文件夾下;
    2拍冠、直接將/Users/‘你的用戶(hù)名’/Library/MobileDevice文件夾拷貝到/Users/Shared/Jenkins文件夾下尿这;

  • 注意:這里配置的證書(shū)是將來(lái)用來(lái)打包項(xiàng)目用的證書(shū),必須與你將要打包的Xcode項(xiàng)目中的配置一致G於拧I渲凇!

  • 注意:這里配置的證書(shū)是將來(lái)用來(lái)打包項(xiàng)目用的證書(shū)晃财,必須與你將要打包的Xcode項(xiàng)目中的配置一致_冻鳌!断盛!

  • 注意:這里配置的證書(shū)是將來(lái)用來(lái)打包項(xiàng)目用的證書(shū)罗洗,必須與你將要打包的Xcode項(xiàng)目中的配置一致!8置汀伙菜!

  • 需要手動(dòng)配置Xcode項(xiàng)目的profile文件,不要使用Auto........,這里不再說(shuō)明如何手動(dòng)配置Xcode項(xiàng)目的profile文件
    至此命迈,我們完成如下圖的構(gòu)建環(huán)境配置(如下圖)

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

5.4贩绕、設(shè)置構(gòu)建操作(這里我們選擇Xcode

  • 點(diǎn)擊增加構(gòu)建步驟, 選擇Xcode

  • 如果沒(méi)有Xcode選項(xiàng)壶愤,請(qǐng)參考上述第三步:Jenkins插件安裝來(lái)安裝Xcode integration插件

    增加構(gòu)建步驟-Xcode

  • 配置Xcode構(gòu)建步驟

    • 配置General build settings

      General build settings

    • 配置Code signing & OS X keychain options

      Code signing & OS X keychain options

    • 配置Advanced Xcode build options

      Advanced Xcode build options

此時(shí)我們所有的打包操作已經(jīng)完畢淑倾,如果你僅僅是打包用,到此你可以點(diǎn)擊保存征椒,點(diǎn)擊立即構(gòu)建踊淳,進(jìn)行構(gòu)建操作了

立即構(gòu)建

既然已經(jīng)做到這一步(自動(dòng)打包),我們還可以配置一些構(gòu)建操作陕靠,將打包后的IPA文件上傳到蒲公英迂尝,便于測(cè)試!配置如下:

  • 1剪芥、在蒲公英網(wǎng)站上創(chuàng)建用戶(hù)垄开,獲取到userKeyapiKey
  • 2、在Jenkins上再次配置下我們之前配置好的項(xiàng)目税肪,在之前添加的Xcode構(gòu)建步驟下溉躲,新增一個(gè)Execute shell構(gòu)建步驟榜田,如圖:
    Execute shell
  • 3、在command中填寫(xiě)如下命令:
#蒲公英上的User Key
uKey="xxxxxxxxxxxxxxxxxxxxxxxx"

#蒲公英上的API Key
apiKey="xxxxxxxxxxxxxxxxxxxxxxxx"

#要上傳的ipa文件路徑
IPA_PATH="我們打包后的IPA文件地址"

#執(zhí)行上傳至蒲公英的命令锻梳,這句不需要修改
curl -F "file=@${IPA_PATH}" -F "uKey=${uKey}" -F "_api_key=${apiKey}" https://www.pgyer.com/apiv1/app/upload
  • 配置完畢箭券,點(diǎn)擊保存,我們?cè)俅螛?gòu)建我們的項(xiàng)目疑枯,如果不出意外辩块,我們看到的是這樣的標(biāo)志


    構(gòu)建成功

    說(shuō)明我們的項(xiàng)目構(gòu)建成功,并成功發(fā)布到蒲公英荆永,快去蒲公英上看看吧~~

6废亭、常見(jiàn)報(bào)錯(cuò)及解決辦法

1、This project contains no schemes


This project contains no schemes
  • 解決辦法:


    勾選shared
  • 注意點(diǎn):

    • 這里我們不能去Jenkins項(xiàng)目目錄下修改Xcode項(xiàng)目的shared勾選具钥,我們應(yīng)該在本地的開(kāi)發(fā)源碼上修改豆村,然后提交到git遠(yuǎn)程倉(cāng)庫(kù),再次構(gòu)建B钌尽U贫!
    • 由于gitignor文件宁玫,我們有可能沒(méi)有注意的情況下粗恢,并沒(méi)有將shared勾選這個(gè)設(shè)置提交到遠(yuǎn)程倉(cāng)庫(kù),導(dǎo)致再次侯建依舊失斍送场!


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末敦迄,一起剝皮案震驚了整個(gè)濱河市恋追,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罚屋,老刑警劉巖苦囱,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異脾猛,居然都是意外死亡撕彤,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)猛拴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)羹铅,“玉大人,你說(shuō)我怎么就攤上這事愉昆≈霸保” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵跛溉,是天一觀的道長(zhǎng)焊切。 經(jīng)常有香客問(wèn)我扮授,道長(zhǎng),這世上最難降的妖魔是什么专肪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任刹勃,我火速辦了婚禮,結(jié)果婚禮上嚎尤,老公的妹妹穿的比我還像新娘荔仁。我一直安慰自己,他們只是感情好诺苹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布咕晋。 她就那樣靜靜地躺著,像睡著了一般收奔。 火紅的嫁衣襯著肌膚如雪掌呜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,624評(píng)論 1 305
  • 那天坪哄,我揣著相機(jī)與錄音质蕉,去河邊找鬼。 笑死翩肌,一個(gè)胖子當(dāng)著我的面吹牛模暗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播念祭,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼兑宇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了粱坤?” 一聲冷哼從身側(cè)響起隶糕,我...
    開(kāi)封第一講書(shū)人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎站玄,沒(méi)想到半個(gè)月后枚驻,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡株旷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年再登,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晾剖。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锉矢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出齿尽,到底是詐尸還是另有隱情沈撞,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布雕什,位于F島的核電站缠俺,受9級(jí)特大地震影響显晶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜壹士,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一磷雇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧躏救,春花似錦唯笙、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至少办,卻和暖如春苞慢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背英妓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工挽放, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蔓纠。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓辑畦,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親腿倚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子纯出,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容