jenkins+mac+fir自動打包

一杨刨、簡述

jenkins是一個廣泛用于持續(xù)構(gòu)建的可視化web工具杜跷,持續(xù)構(gòu)建即各種項目的”自動化”編譯便锨、打包氏仗、分發(fā)部署吉捶。jenkins可以很好的支持各種語言(比如:java, c#, php等)的項目構(gòu)建,也完全兼容ant皆尔、maven呐舔、gradle等多種第三方構(gòu)建工具,同時跟svn慷蠕、git能無縫集成珊拼,也支持直接與知名源代碼托管網(wǎng)站,比如github砌们、bitbucket直接集成杆麸。

二、Jenkins的安裝

1浪感、Jenkins本身是用java語言開發(fā)的昔头,所以安裝Jenkins之前,要保證你的電腦有jdk影兽,如果沒有揭斧,請到如下鏈接下載:http://rj.baidu.com/soft/detail/25851.html?ald,另外建議git、ant讹开、maven盅视、gradle、groovy等工具也一并安裝好闹击,方便與這些構(gòu)建工具集成成艘。

2、進(jìn)入Jenkins的官網(wǎng)https://jenkins.io/index.html淆两,然后下載并安裝Jenkins。此處有兩種安裝方法仲义,使用命令行安裝和使用jenkins.pkg安裝,建議使用后一種剑勾,步驟如下:

(1)如下圖,點擊 Download Jenkins

(2)然后選擇 LTS Release->2.7.1.war->Mac OS X

(3)下載完成后盯另,得到 jenkins-2.7.1.pkg 文件鸳惯,點擊直接安裝即可芝发,安裝過程中苛谷,一路continue腹殿,到下圖時锣尉,取消 start at boot as“jenkins”自沧,一般不需要自啟動。

(4)安裝完成后晒喷,會直接跳轉(zhuǎn)到如下界面凉敲,如果沒有跳轉(zhuǎn)或者跳轉(zhuǎn)失敗寺旺,可通過執(zhí)行如下命令 ” open /Applications/Jenkins/jenkins.war ” 進(jìn)入到該界面:

(5)觀察圖中的路徑,然后打開你的終端叮姑,執(zhí)行如下命令(注意:該命令僅在安裝Jenkins的過程中執(zhí)行才有效据悔;安裝成功后极颓,再在終端中執(zhí)行是無效的):

(6)然后將我們得到的password輸入到“Administrator password“中兵琳,即可進(jìn)入如下界面骇径,接著安裝一些建議的插件破衔,安裝過程中晰筛,有的插件可能會安裝失敗读第,可以跳過卦方,之后需要對應(yīng)的插件時,再重新安裝即可逝她,具體后面會講到:

(7)插件安裝完成后黔宛,可能會卡在如下界面臀晃,不會自動跳轉(zhuǎn)徽惋,刷新下界面即可:

(8)在刷新后的界面中注冊险绘,輸入用戶名和密碼宦棺,如下:

(9)注冊成功后代咸,點擊”Start using Jenkins”

三呐芥、Jenkins的使用

1贩耐、安裝成功后潮太,會進(jìn)入到如下界面:

2铡买、由于安裝過程中奇钞,有些插件可能會安裝失敗景埃,通過如下方式檢查所需的插件是否安裝成功谷徙。

(1)通過“系統(tǒng)管理->管理插件->已安裝“完慧,檢查如下所需的插件是否安裝成功:

<1> Xcode integration

<2> GIT plugin

<3> Post-Build Script Plug-in

<4> GitHub plugin

<5> Email Extension Plugin

特別提醒:本人的項目是使用Git托管在OSChina上的屈尼,所以具體需要什么插件要具體考慮脾歧,建議最好對照上述步驟(7)中的插件安裝結(jié)果來檢查鞭执。

(2)如果有對應(yīng)的插件沒有安裝成功蚕冬,可通過“系統(tǒng)管理->管理插件->可選插件“來安裝囤热。安裝插件的過程中旁蔼,如下:

可以看到棺聊,插件已經(jīng)安裝成功限佩。但是祟同,打開“系統(tǒng)管理->管理插件->已安裝“時晕城,沒有找到剛剛安裝的插件砖顷,這是可以通過重啟Jenkins滤蝠,并重新安裝來解決,直到最終我們安裝的插件出現(xiàn)在“系統(tǒng)管理->管理插件->已安裝“中房轿。

提示:重啟Jenkins的方法為:localhost:8080/restart

3囱持、Jenkins的使用

(1)點擊新建纷妆,創(chuàng)建一個項目

(2)輸入項目名稱掩幢,并選擇構(gòu)建一個自由風(fēng)格的軟件項目际邻,點擊下方的OK世曾。

(3)General 中建議寫上一些項目描述轮听,其余的不用操作

(4)源碼管理,配置如下:

我的項目是使用Git托管在OSChina上的述寡,具體情況具體對待辨赐,配置如下:

<1> 選擇Git

<2> 首先將托管在OSChina上的項目的URL

取出掀序,并粘貼在圖中位置

<3> 通過 “Credentials->Add->Jenkins”來添加OSChina的用戶名和密碼叶雹。

<4> 輸入對應(yīng)的用戶名和密碼后折晦,并在Credentials中選擇該帳號满着,其余選項不用操作风喇。

(5)構(gòu)建觸發(fā)器,有多個選項耙考,具體選擇要看你的需求倦始,舉例說明:

<1> Build periodically:周期進(jìn)行項目構(gòu)建鞋邑,它不關(guān)心源碼是否發(fā)生變化。

<2> Poll SCM:定時檢查源碼變更(根據(jù)SCM軟件的版本號)剔猿,如果有更新就checkout最新code下來归敬,然后執(zhí)行構(gòu)建動作汪茧。

<3> 我們接下來用Build periodically來演示舱污,如下圖扩灯,其中的日程表設(shè)置為 ” 10 12 * * * “珠插,即每天中午的12點10分捻撑,都會自動構(gòu)建一次:

提示:日程表中所填格式的含義顾患,可以點擊右側(cè)的?來查看描验,其中有很詳細(xì)的解釋絮缅。

(6)構(gòu)建環(huán)境耕魄,可直接跳過彭谁,不用設(shè)置缠局。

(7)構(gòu)建狭园,設(shè)置如下:

1)General build settings

<1> 增加構(gòu)建步驟唱矛,選擇 Xcode绎谦。

<2> 在下圖的Target中窃肠,保證該Target和Xcode項目工程中的Target同名冤留。

Xcode項目工程中的Target如下圖:

<3> 點擊圖中右下角的Settings

<4> 建議勾選Clean before build?破托,并將Configuration設(shè)為Release土砂。

<5> 勾選Pack application and build .ipa?萝映,同時為即將輸出的ipa文件命名并指定輸出路徑序臂,如下圖:

2)Code signing & OS X keychain options

我在OSChina上托管的項目,已經(jīng)在Xcode中就配置好了證書构订,所以只需要執(zhí)行如下步驟:勾選 Unlock Keychain?悼瘾,并輸入對應(yīng)的Keychain path 和 Keychain password 即可亥宿。

提示:怎樣獲得Keychain path 和 Keychain password ?

解決方案:回到Jenkins首頁材蛛,系統(tǒng)管理->系統(tǒng)設(shè)置->

Xcode Builder,其中Keychain path會自動生成马绝,Keychain Name 和 Keychain password 填寫即可富稻。

3)Advanced Xcode build options

此處有個注意點抚岗,即你的項目中使用CocoaPods和沒有使用CocoaPods的配置是不同的宣蔚。

<1> 假如你的項目中使用了CocoaPods胚委,如下圖配置亩冬,至于每一項是什么含義硅急,點擊后面的?铜秆,已經(jīng)解釋的很清楚了连茧,不再贅述:

<2> 假如你的項目中沒有使用CocoaPods,應(yīng)配置如下:

4)Versioning 跳過即可。

(8)構(gòu)建后操作

小提示:點擊各個選項最后的?時针姿,都會有相應(yīng)選項的詳細(xì)說明距淫。

1)構(gòu)建后榕暇,上傳到fir.im

由于構(gòu)建后彤枢,要上傳到http://fir.im/apps缴啡,而且上傳有兩種常用方法业栅,建議使用第一種反镇。

第一種方法:使用插件fir-plugin-0629.hpi歹茶,直接點擊下載即可惊豺。配置如下:

<1> 回到Jenkins首頁尸昧,系統(tǒng)管理->管理插件->高級旷偿,通過下圖將你下載的插件上傳:

<2> 上傳之后烹俗,在 “可選插件” 中找到它,然后安裝萍程。

<3> 安裝成功后幢妄,如下圖,選擇 “增加構(gòu)建后操作步驟”茫负,選擇 “Upload to fir.im”蕉鸳。

<4> 在Upload to fir.im 中忍法,輸入你的fir.im Token潮尝。

提示:fir.im Token 的獲得方式:首先注冊一個 fir.im 帳號,然后如下圖饿序,找到你的 fir.im Token勉失。

如下圖,即 fir.im Token嗤堰,可重新生成戴质。

<5> 其余選項略過。

第二種方法:使用命令行的形式配置并上傳踢匣,簡述如下:

<1> 選擇 “增加構(gòu)建后操作步驟”

<2> 選擇 “Execute a set of scripts”

<3> 選擇 “Add build step”

<4> 選擇 “Execute shell”

<5> 在下圖中輸入:fir p${WORKSPACE}/build/TestJenkins.ipa -T#API Token#

提示1:其中${WORKSPACE}/build/為 .ipa 的輸出路徑告匠,#API Token#為fir.im的API Token。

提示2:在使用該命令前請先確認(rèn)安裝fir-cli离唬,安裝命令如下:

sudo gem install fir-cli –no-ri –no-rdoc

上面的命令來自 fir.im 的工具 fir-cli后专,這是他們的官方使用說明:官方工具 fir-cli 使用說明。

2)構(gòu)建后输莺,自動發(fā)送郵件提醒

<1> Jenkins 自帶一個郵件的通知的功能戚哎,但是自帶的郵件通知功能,有點簡單嫂用,不能自定義信息型凳,所以我們安裝郵件插件Email Extension Plugin。

<2> 首先確保在 “系統(tǒng)管理->插件管理->已安裝 “中嘱函,已經(jīng)安裝了Email Extension Plugin甘畅,如果沒有,請安裝往弓。

<3> 通過 “系統(tǒng)管理->系統(tǒng)設(shè)置->Extended E-mail Notification” 配置郵件服務(wù)器疏唾,此處以163郵箱為例,具體配置如下圖函似,并指定 “Default Content Type”:

<4> 點擊上圖中的 “高級”槐脏,可以進(jìn)一步設(shè)置,如下圖撇寞,即指定一個可用的163郵箱顿天,用來發(fā)送郵件,輸入正確的郵箱和密碼”:

同時指定 ” Default Recipients” 和 “Default Content”蔑担,具體如下圖露氮,其中 “Default Content” 可根據(jù)實際需求來調(diào)整。

<5> 在 “系統(tǒng)管理->系統(tǒng)設(shè)置->Jenkins Location” 中钟沛,將上述163郵箱作為 “系統(tǒng)管理員郵件地址”畔规。

提示:郵箱(以163郵箱為例),一般都是禁止第三方郵件客戶端來使用163郵箱來發(fā)郵件的恨统,可以通過以下方式解決:

首先叁扫,進(jìn)入163郵箱,找到設(shè)置畜埋;

然后莫绣,如下圖,選擇 “POP3/SMTP/IMAP”

最后悠鞍,如下圖对室,勾選 “POP3/SMTP服務(wù)” 和 “IMAP/SMTP服務(wù)”,并通過短信驗證的方式,實現(xiàn)使用授權(quán)碼登錄第三方郵件客戶端掩宜。(此處各種郵箱的設(shè)置不一定相同蔫骂,但大同小異)

<6> 回到項目中的 “構(gòu)建后操作”處,繼續(xù)進(jìn)行設(shè)置牺汤,如下圖:

其中的 “Project Recipient List” 是收件人列表辽旋,可根據(jù)實際需要添加,各個郵箱之間以逗號分隔即可(也可使用cc: or bcc: 的形式檐迟,點擊右側(cè)?可查看詳情)补胚。其余各項按圖中配置即可,如有特殊需要追迟,再針對性設(shè)置溶其。

<7> 如果想獲得輸出log,可通過下圖中的 “Attach Build Log” 來設(shè)置敦间。

<8> 點擊上圖中的 “Advanced Settings”握联,來進(jìn)一步設(shè)置觸發(fā)方式。如下圖每瞒,我選擇了當(dāng)構(gòu)建成功和失敗時金闽,都發(fā)送郵件通知指定對象。

<9> 在各種具體的觸發(fā)方式中剿骨,同樣可以做一些具體設(shè)置代芜。例如,想在不同的觸發(fā)方式下浓利,發(fā)送郵件給不同的人挤庇,那么就可以通過該功能實現(xiàn)。

例如贷掖,在觸發(fā)成功的情況下嫡秕,通知下面三人,可如下設(shè)置:

在觸發(fā)失敗的情況下苹威,僅通知特定一人昆咽,可如下設(shè)置:

(9)上述步驟都完成后,點擊 “Apply”->保存牙甫。

(10)當(dāng)你在(5)中設(shè)置的觸發(fā)時間點到了時掷酗,就會自動構(gòu)建項目,并打包ipa上傳窟哺。

(11)上傳后泻轰,可登錄http://fir.im/apps去查看,如果上傳成功且轨,顯示如下浮声,可打開預(yù)覽查看具體的更新時間:

(12)也可打開設(shè)定的郵箱虚婿,去驗證是否有收到郵件,一般郵件內(nèi)容如下泳挥,可點擊其中的 ” ipa下載地址” 去下載該APP:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末然痊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子羡洁,更是在濱河造成了極大的恐慌,老刑警劉巖爽丹,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筑煮,死亡現(xiàn)場離奇詭異,居然都是意外死亡粤蝎,警方通過查閱死者的電腦和手機(jī)真仲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來初澎,“玉大人秸应,你說我怎么就攤上這事”纾” “怎么了软啼?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長延柠。 經(jīng)常有香客問我祸挪,道長,這世上最難降的妖魔是什么贞间? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任贿条,我火速辦了婚禮,結(jié)果婚禮上增热,老公的妹妹穿的比我還像新娘整以。我一直安慰自己,他們只是感情好峻仇,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布公黑。 她就那樣靜靜地躺著,像睡著了一般摄咆。 火紅的嫁衣襯著肌膚如雪帆调。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天豆同,我揣著相機(jī)與錄音番刊,去河邊找鬼。 笑死影锈,一個胖子當(dāng)著我的面吹牛芹务,可吹牛的內(nèi)容都是我干的蝉绷。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼枣抱,長吁一口氣:“原來是場噩夢啊……” “哼熔吗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起佳晶,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤桅狠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后轿秧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體中跌,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年菇篡,在試婚紗的時候發(fā)現(xiàn)自己被綠了漩符。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡驱还,死狀恐怖嗜暴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情议蟆,我是刑警寧澤闷沥,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站咐容,受9級特大地震影響狐赡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疟丙,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一颖侄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧享郊,春花似錦览祖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苔咪,卻和暖如春锰悼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背团赏。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工箕般, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人舔清。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓丝里,卻偏偏與公主長得像曲初,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子杯聚,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

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