Mac環(huán)境下Android的Jenkins自動化打包以及郵件通知

背景

??當(dāng)時在學(xué)習(xí)如何用jenkins進行自動化打包的時候,去網(wǎng)上找了各種資料倦畅,感覺比較零碎遮糖。所以這里我將整個流程完整的梳理一遍


一、下載安裝jenkins

這里有兩種方法可以用叠赐。第一種操作方便欲账,可以直接下載安裝包屡江,但是安裝包會有一些莫名的問題。第二種操作繁瑣一點敬惦,需要操作命令行盼理,直接命令行安裝:

  1. 直接登錄官網(wǎng)下載:
    jenkins的官網(wǎng)下載地址:https://jenkins.io/download/
    因為這里是Mac下面所以需要選擇MacOS的版本:(左邊是穩(wěn)定版本谈山,右邊是測試版本俄删,所以一般都是選擇左邊的)
    1-1-1.png

    下載完成以后直接點擊安裝就可以了。之后在瀏覽器輸入鏈接:http://localhost:8080 就行
  2. 命令行下載安裝(推薦使用):
    ??①.使用brew下載安裝Jenkins(如果事先沒有安裝過brew工具的童鞋可以參考這篇文章):
    1-2-1.jpg
1-2-2.jpg

我這邊是因為之前安裝過了奏路,所以這里會提示已安裝畴椰,如果是沒有安裝過的會提示XXfiles,XXMB鸽粉,built in XX minute XX seconds.
??②.安裝完成后斜脂,在終端輸入Jenkins啟動:

1-2-3.png

這個地方可能會出現(xiàn)一個錯誤,由于Jenkins安裝后的端口號是8080触机,所以很容易會跟其他服務(wù)的端口號沖突帚戳,這個時候就需要修改端口號,命令行輸入(本文默認(rèn)全部使用8080端口)

vim /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist

打開以后如下圖所示(初次使用vim的小伙伴可以注意下,在進入vim編輯器以后,需要隨便敲一個字符才能進入編輯模式儡首,敲ESC鍵片任,退出編輯模式。輸入:wq保存并退出蔬胯。有興趣了解更深的小伙伴可以參考linux VIM基本命令

1-2-4.png

進入編輯模式对供,修改--httpPort=XXXX端口號可以盡量選擇生僻點的,避免跟其他端口沖突
??③.打開瀏覽器輸入鏈接:http://localhost:8080就行了

二氛濒、Jenkins的環(huán)境配置

  1. 打開頁面首先進入的是一個解鎖頁面产场,這里由于我之前已經(jīng)配置好了,這個頁面不會出現(xiàn)舞竿,所以我從網(wǎng)上找了張圖京景,大概就是這個樣子的:


    2-1-1.png

路徑會有所不用,Mac下面路徑這個

/Users/你的Mac用戶名/.jenkins/secrets/initialAdminPassword

在這個路徑下找到對應(yīng)的密碼輸入

  1. 之后進入插件安裝的頁面骗奖,這個頁面下直接選擇[安裝推薦的插件]确徙。基本沒什么問題重归,如果出現(xiàn)插件安裝失敗米愿,可以參考這篇博客Jenkins插件下載失敗兩種處理辦法.
  2. 接下來就是環(huán)境變量的配置:
    ??①.首先點擊左側(cè)系統(tǒng)管理,看到系統(tǒng)設(shè)置鼻吮,點擊進入(無視掉上面的警告和提示吧育苟,對主流程沒什么影響):
    2-3-1.png

    ??②.進入系統(tǒng)設(shè)置頁面
    2-3-2.png

選擇環(huán)境變量,點擊Add椎木,設(shè)置SDK的環(huán)境變量违柏,Name的話一定要輸入ANDROID_HOME博烂,Value就是SDK當(dāng)前SDK所在的目錄.


2-3-3.png

設(shè)置Jenkins的URL,如果是本機的jenkins,那么直接設(shè)置localhost:8080漱竖。如果是服務(wù)器上面的Jenkins禽篱,那么設(shè)置服務(wù)器的IP就OK了。
設(shè)置郵箱地址馍惹,這里設(shè)置的是系統(tǒng)管理員郵箱躺率,下面有地方會用到。要確保設(shè)置正確万矾。


2-3-4.png



上面的Extended E-mail Notification和下面的郵件通知輸入的內(nèi)容保持一致即可


2-3-5.png

SMTP服務(wù)器就是上面系統(tǒng)管理員郵箱的SMTP,本文選擇的是網(wǎng)易163郵箱悼吱,所以設(shè)置的是smtp.163.com。如果是QQ郵箱良狈,那么設(shè)置的是smtp.qq.com后添。后綴就是郵箱地址@后面的內(nèi)容。這里重點說明一下用戶名需要跟系統(tǒng)管理員郵箱保持一致薪丁,而且密碼是各大郵箱的授權(quán)碼遇西,并不是郵箱的登錄密碼,要切記严嗜,否則郵件就會發(fā)送失敗粱檀。其他就按照圖示寫就可以了。然后點擊保存阻问。
附:
網(wǎng)易163郵箱授權(quán)碼獲取教程
QQ郵箱授權(quán)碼獲取教程
新浪郵箱授權(quán)碼獲取教程
阿里云郵箱授權(quán)碼獲取教程
谷歌郵箱授權(quán)碼獲取教程

??③.系統(tǒng)管理->全局工具配置

2-3-6.png

JDK installations一欄里面點擊Add JDK梧税,Name隨便取,不過最好對應(yīng)好版本號称近;JAVE_HOME就設(shè)置為當(dāng)前Mac下Java的安裝路徑第队。當(dāng)然也可以設(shè)置成自動安裝


2-3-7.png

git一欄配置:Path to Git executable里面設(shè)置的就是Git的安裝路徑(不知道Git安裝目錄的小伙伴可以參考這篇文章Mac和Windows快速查看git安裝目錄


2-3-8.png

gradle配置:一樣名字最好跟著版本號,GRADLE_HOME就設(shè)置為gradle的安裝目錄


2-3-9.png

Maven庫的配置(如果項目里面沒有用到maven庫刨秆,這一項可不必添加):同上
最后點擊保存


三凳谦、項目配置

  1. 新建任務(wù):


    3-1-1.png

輸入應(yīng)用名字,選擇構(gòu)建一個自由風(fēng)格的軟件項目衡未,點擊OK

  1. 進入項目配置頁面:


    3-2-1.png

(本文選擇的是git尸执,如果有小伙伴是用SVN的,需要選擇第三個radiobutton:Subversion.)輸入git服務(wù)器上面可以clone的項目的地址缓醋。
然后添加證書:


3-2-2.png

類型如圖設(shè)置如失,UserName和Password填寫Git服務(wù)器上面你登錄的用戶名和密碼,點擊添加就OK了送粱。

  1. 項目配置頁面往下拉褪贵,有個Add build step按鈕,點擊選擇Invoke Gradle script。出現(xiàn)下圖所示:


    3-3-1.png

先選擇Invoke Gradle:Gradle Version里面選擇之前系統(tǒng)設(shè)置里面配置好的那個Gradle(這個時候Gradle的名字增加版本號的優(yōu)勢就體現(xiàn)出來了脆丁,你可以選擇你想要的版本的gradle)
在選擇Use Gradle Wrapper:Tasks里面填寫build


此時需要點擊保存世舰,然后立即構(gòu)建項目,將項目從git上面拉下來到j(luò)enkins目錄下槽卫。然后在重新打開配置頁面跟压,頁面下拉到同一個位置,右下角的Advanced按鈕點擊出現(xiàn)如下畫面:

3-3-2.png

在jenkins目錄下面找到剛才從git上面下拉的項目的路徑歼培,將項目中的build.gradle 路徑寫入Build File里面

  1. 繼續(xù)往下拉震蒋,有個Add post-build action按鈕,點擊按鈕選擇Editable Email Notification,然后點擊最下面Advanced settings按鈕丐怯,出現(xiàn)如下圖示:


    3-4-1.png

點擊Add Trigger選擇發(fā)送郵件的時機喷好,我這里選擇了總是,也就是說只要Jenkins進行一次打包读跷,不論成功失敗都會發(fā)送一次郵件。然后點擊Advanced按鈕:


3-4-2.png

Add按鈕點擊選擇要發(fā)送郵件的集合禾唁,本文選擇了開發(fā)者和接受者列表集合效览。
接下來設(shè)置郵件接收列表集合。Content里面的內(nèi)容根據(jù)項目需求填寫荡短,其他的可以直接按照如圖所示填寫即可丐枉。
最后點擊保存


PS:另外點擊Add post-build action可以再設(shè)置E-mail Notification,設(shè)置對應(yīng)的郵箱掘托。不過我試了下在沒有設(shè)置這個的情況下瘦锹,Jenkins依然可以打包發(fā)送郵件,只是多了個警告,不知道哪位大佬可以解惑一下

Not sending mail to unregistered user xxx@qq.com because your SCM claimed this was associated with a user ID ‘xxx' which your security realm does not recognize; you may need changes in your SCM plugin
Sending email to: xxx@qq.com

四闪盔、項目運行

4-1.png

左側(cè)菜單欄點擊立即構(gòu)建弯院,Jenkins就會進行自動化打包了,耐心等候幾十秒到兩三分鐘左右的時間泪掀,打包完成后會在郵箱里面收到一封郵件听绳。打包log最后出現(xiàn):

Sending email for trigger: Always
Sending email to: XXX@qq.com
Finished: SUCCESS

就代表打包順利完成。

參考博客:

Android 使用 Jenkins 實現(xiàn)自動化打包【流程】&【踩坑】
MAC上搭建Jenkins實現(xiàn)Android自動打包
Jenkins 配置自動發(fā)送郵件异赫,測試郵件發(fā)送失敗
Mac 使用HomeBrew安裝的Jenkins修改端口號

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末椅挣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塔拳,更是在濱河造成了極大的恐慌鼠证,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靠抑,死亡現(xiàn)場離奇詭異量九,居然都是意外死亡,警方通過查閱死者的電腦和手機孕荠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門娩鹉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攻谁,“玉大人,你說我怎么就攤上這事弯予∑莼拢” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵锈嫩,是天一觀的道長受楼。 經(jīng)常有香客問我,道長呼寸,這世上最難降的妖魔是什么艳汽? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮对雪,結(jié)果婚禮上河狐,老公的妹妹穿的比我還像新娘。我一直安慰自己瑟捣,他們只是感情好馋艺,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著迈套,像睡著了一般捐祠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上桑李,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天踱蛀,我揣著相機與錄音,去河邊找鬼贵白。 笑死率拒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的戒洼。 我是一名探鬼主播俏橘,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼圈浇!你這毒婦竟也來了寥掐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤磷蜀,失蹤者是張志新(化名)和其女友劉穎召耘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褐隆,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡污它,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衫贬。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡德澈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出固惯,到底是詐尸還是另有隱情梆造,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布葬毫,位于F島的核電站镇辉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏贴捡。R本人自食惡果不足惜忽肛,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烂斋。 院中可真熱鬧屹逛,春花似錦、人聲如沸源祈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽香缺。三九已至,卻和暖如春歇僧,著一層夾襖步出監(jiān)牢的瞬間图张,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工诈悍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祸轮,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓侥钳,卻偏偏與公主長得像适袜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子舷夺,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

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

  • 作為一名Android程序猿苦酱,能偷懶時是一定要偷懶的。大家在開發(fā)中一定遇到過:測試說:幫我打個包吧给猾,產(chǎn)品說:幫我打...
    小朱v閱讀 6,951評論 3 14
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,077評論 25 707
  • 用兩張圖告訴你疫萤,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,714評論 2 59
  • 愉快的晚餐后敢伸,回到家扯饶,看到亞萍發(fā)的一遍薦讀文章《為什么你的孩子不懂得心疼你》。 文章是老生常談,無非是一個非常普遍...
    風(fēng)從南方來1閱讀 448評論 2 1
  • 裝飾一新的牢籠 關(guān)著各式各樣的動物 它們犧牲自由 為牢籠外的人們換來歡樂 其實尾序,在它們看來 人類何嘗不也生活在牢籠...
    霍永思閱讀 285評論 0 4