iOS Jenkins自動化打包 上傳fir、蒲公英、郵件、釘釘提醒

一、環(huán)境配置

注意,本文章是以Jenkins2.263.4為例

1、首先安裝Java環(huán)境:官網(wǎng)下載地址

2、安裝Jenkins

建議下載Jenkins 2.263.4版本,因?yàn)樽钚掳姹敬嬖趌ogin.keychain無法上傳的bug, 在Jenkins官網(wǎng)下載下載完成后,打開終端,進(jìn)入到 war 包所在目錄,執(zhí)行以下命令:

java -jar jenkins.war --httpPort=8080

待Jenkins啟動后:

啟動

3、登錄

在瀏覽器頁面輸入以下地址,就打開Jenkins管理頁面了

http://localhost:8080

登錄密碼路徑

~/.jenkins/secrets/initialAdminPassword

進(jìn)入~/.jenkins/secrets/initialAdminPassword路徑查看密碼,輸入密碼登錄。

登錄

5、插件安裝

選擇安裝推薦的插件

插件安裝

此過程據(jù)說很慢,但是我用的手機(jī)熱點(diǎn),沒有科學(xué)上網(wǎng),還是很快的。5分鐘左右

推薦的插件下載

6、創(chuàng)建管理員

創(chuàng)建管理員

7、Jenkins URL 默認(rèn)就可以

Jenkins URL


8、進(jìn)入首頁,先安裝額外的插件

1)點(diǎn)擊Manage Jenkins - Manage Plugins

2)搜索想要安裝的插件

這里需要安裝的插件有:

1)Keychains and Provisioning Profiles Management: 證書與描述文件的管理

2)Xcode integrationXcode:打包的插件,所以iOS的打包只能部署在Mac系統(tǒng)

9、配置項(xiàng)目的訪問SSH私鑰

如果你的電腦沒有配置過SSH,此處以碼云為例,可看碼云官方文檔,配置好SSH后再給Jenkins配置

證書管理
添加證書

創(chuàng)建一個(gè)SSH

SSH

終端執(zhí)行一下操作,獲取公鑰

cat ~/.ssh/id_rsa.pub

填入保存即可

9、配置項(xiàng)目依賴的證書與描述文件

其實(shí)勾選自動簽名,不用配置證書和描述文件也可以。

1)鑰匙串文件路徑:

~/Library/Keychains/

login.keychain-db

由于Jenkins里不能上傳login.keychain-db這樣后綴的文件,所以手動復(fù)制一份login.keychain-db到桌面,然后把文件名修改成login.keychain

我們再次來到Manage Jenkins 選擇Keychains and Provisioning Profiles Management

點(diǎn)擊選取文件,選取login.keychain后點(diǎn)擊Upload

證書名稱為鑰匙串里常用名稱,雙擊某個(gè)證書即可打開,copy一下就可以了

常用名稱

輸入完后先保存,在上傳Provisioning Profiles

2)同樣的方式,點(diǎn)擊Keychains and Provisioning Profiles Management,講描述文件上傳,Provisioning Profiles Directory Path的路徑寫

其中{USERNAME}改為自己電腦的名稱

/User/{USERNAME}/Library/MobileDevice/Provisioning Profiles

上傳

10、配置郵箱系信息

如果需要郵件通知,則需要配置此項(xiàng)

a.進(jìn)入Manage Jenkins - Configure System

b.填寫系統(tǒng)管理員郵件地址

c.填寫郵箱信息

d.全局設(shè)置郵件發(fā)送出發(fā)事件、這里選Always,是任何事件都會發(fā)送郵件

11、基本使用

主板
item頁面
日志信息

二、環(huán)境配置

此處不是用的shell構(gòu)建,以后再研究。

1、新建item

新建item

2、填入任務(wù)名稱、選擇Freestyle project

Freestyle project

3、General、填寫描述

General

4、源碼管理

源碼管理

如果報(bào)錯(cuò),說明是SSH配置有問題

5、構(gòu)建觸發(fā)器和構(gòu)建環(huán)境,按需填寫,此處我沒設(shè)置

6、構(gòu)建

1)如果用到了cocopods需要先用shell拉取pods倉庫

#bin/zsh -l

export LANG=en_US.UTF-8

export LANGUAGE=en_US.UTF-8

cd $WORKSPACE/

/usr/local/bin/pod update --verbose --no-repo-update

選擇Execute shell

填入上述命令

更新Pods

7、配置Xcode部分

1)增加構(gòu)建步驟-Xcode,以自動簽名為例

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

自動簽名不需要填寫Team ID

自動簽名不需要填寫Team ID

2)General build settings:一般設(shè)置

Settings部分

Clean before build : 勾選,據(jù)說不勾選啟動圖會有問題

Configuration:分Debug和Release,我要打可調(diào)式包,所以寫的Debug

Xcode Schema File:如果是用到Cocopods,需要填寫工程名

Pack application,build and sign .ipa:需要勾選

按需設(shè)置一下選項(xiàng)

Export method :development、ad-hoc、enterprise、app-store

3)Code signing & OS X keychain options:代碼簽名設(shè)置

此處我們選的自動簽名

Automatic Signing :勾選自動簽名

如果不想自動簽名,選擇下面的Unlock Keychain,前提是需要配置login.keychain和描述文件

3)Advanced Xcode build options:高級選項(xiàng)

8、上傳fir.im、上傳蒲公英、發(fā)送郵件、發(fā)送到釘釘群

1)上傳fir.im

使用的是fir-cli上傳,下面幾個(gè)連接提供參考

介紹:https://github.com/FIRHQ/fir-cli

安裝:http://blog.betaqr.com/use-fir-cli-in-jenkins/

使用:https://github.com/FIRHQ/fir-cli/blob/master/doc/publish.md

我們回到Jenkins中,找到上面的item,打開配置,在最下面增加構(gòu)建步驟,選擇Execute shell

增加構(gòu)建步驟

根據(jù)fir-cli使用連接中介紹,編寫一下shell

fir p ${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa? -Q -T abcdefghigklmnopqrstuvwxyz

需要修改的地方有兩點(diǎn)

a、ipa路徑:${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa

b、fir的API token:abcdefghigklmnopqrstuvwxyz

fir的API Token去fir平臺獲取,將兩者換成自己的就可以了。

c、頭像,點(diǎn)擊API token


d、copy就可以了

API Token

2)發(fā)送到釘釘群,通過Webhook實(shí)現(xiàn)

當(dāng)上傳fir成功后,我們可以發(fā)消息到釘釘群,這里需要在釘釘群配置一個(gè)機(jī)器人。

a.在需要發(fā)消息的釘釘群,點(diǎn)擊群設(shè)置 - 智能群助手 - 添加機(jī)器人

機(jī)器人管理

選擇自定義

安全設(shè)置,我們選擇自定義關(guān)鍵詞

關(guān)鍵詞添加為url

我們講Webhook的地址復(fù)制出來,截取地址里的access_token備用

在上一步上傳fir的shell腳本中加入access_token值就可以發(fā)送到群里了

shell腳本改為

fir p ${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa --dingtalk-access-token="zyxwvutsrqpo" -Q -T abcdefghigklmnopqrstuvwxyz

access_token : zyxwvutsrqpo 講這個(gè)值換成自己的就可以了

3)發(fā)送郵件

回到配置頁面,滑到最下面,點(diǎn)擊增加構(gòu)建后操作步驟

選擇Editable Email Notification

多個(gè)郵箱地址用英文逗號隔開

Content Type:選擇Plain Text(text/plain)就可以

Triggers觸發(fā)器按照下圖配置,保存即可

3)上傳蒲公英

先放一個(gè)蒲公英官方文檔:https://www.pgyer.com/doc/view/jenkins_plugin

打開蒲公英,在API信息中獲取API Key和User Key

在Jenkins插件中安裝Upload to pgyer插件

返回item中的配置

在增加構(gòu)建后操作步驟中選擇Upload to pager with apiV1

配置一下信息,保存即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,983評論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,978評論 2 374

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