Jenkins自動(dòng)化構(gòu)建

一、Tomcat和Jenkins下載安裝

1. 下載Tomcat:

download_Jenkins.png

下載完成后解壓到指定目錄下,然后命名為T(mén)omcat,啟動(dòng)Tomcat 打開(kāi)終端姊途,切換到Tomcat/bin目錄下,然后輸入:./startup.sh 回車(chē),或者Windows下雙擊startup.bat, 就可以啟動(dòng)我們的Tomcat了打開(kāi)瀏覽器輸入http://localhost:8080/,如果出現(xiàn)一只貓知态,則證明配置成功.

2. 安裝Jenkins:

download_Jenkins_plugin.png

將下載的Jenkins.war包直接放到tomcat下的webapps目錄
啟動(dòng)tomcat
然后打開(kāi)http://localhost:8080/jenkins
然后就是一系列的安裝過(guò)程捷兰,默認(rèn)即可。负敏。贡茅。加載的一些插件可以根據(jù)自己的需要選擇,或者選擇推薦的插件安裝
可能遇到的問(wèn)題:打開(kāi)http://localhost:8080/jenkins報(bào)404錯(cuò)誤其做,可能tomcat沒(méi)啟動(dòng)顶考,或者下載的Jenkins.war是壞的,重新下載即可.

3. 首次打開(kāi)Jenkins,會(huì)提示安裝所需的插件:

download_Jenkins_plugin.png

除默認(rèn)插件, 還有其他一些插件推薦:


other_jenkins_plugins.png

[圖片上傳中...(system_config_2.png-1414fb-1527336684558-0)]

注意:在首次進(jìn)入Jenkins并設(shè)置admin管理員賬號(hào)后, 要立即修改admin密碼, 否則下次登錄登錄不了.

二妖泄、系統(tǒng)管理-系統(tǒng)設(shè)置:

1. Jenkins空間目錄結(jié)構(gòu)

system_config_2.png

說(shuō)明:
(1)主目錄即安裝Jenkins自動(dòng)生成的Jenkins所有配置,工程,插件,日志等存放的目錄, 一般在當(dāng)前用戶下創(chuàng)建;
(2)工作空間根目錄,即所創(chuàng)建的Job從svn或者git等拉到本地的代碼存放的目錄,即 下圖紅框2;
(3)構(gòu)建記錄根目錄,即創(chuàng)建的Job構(gòu)建的日志記錄以及配置項(xiàng)所存放的目錄,即 下圖紅框1.

system_config_1.png

2. 全局屬性配置

在這里配置全局都可用的屬性, 例如系統(tǒng)JDK, SDK,NDK, Python等環(huán)境變量(如果Jenkins所在的系統(tǒng)有配置對(duì)應(yīng)的環(huán)境變量到系統(tǒng)path里,那么這些都可以不用配, 如果沒(méi)有配置,則可以在這里配置好, 否則在編譯時(shí)會(huì)提示找不到對(duì)應(yīng)需要的庫(kù).), 例如下面配置了Python路徑的環(huán)境變量.


system_config_3.png

3. 配置源碼服務(wù)器

這里我用的是gitlab托管我的代碼,所以配置對(duì)應(yīng)的gitlab即可, 也可以不配置, 在具體Job里去配置也可以, 例如我這里就沒(méi)有配置.其他代碼托管平臺(tái)類(lèi)似.


system_config_4.png

4. 配置郵箱服務(wù)器, 首先需要添加Email Extension Plugin插件, 然后就會(huì)出現(xiàn)下面的配置項(xiàng):

(1) 配置系統(tǒng)管理員郵箱, 這里配置你的郵箱地址:
(2) 配置(1)設(shè)置的系統(tǒng)郵箱地址用戶名密碼等.


system_config_5.png

5. 配置自動(dòng)將安裝包上傳到ftp服務(wù)器

需要安裝Publish over FTP插件, 然后就會(huì)出現(xiàn)下面的配置項(xiàng),逐項(xiàng)配置即可:


system_config_6.png

三村怪、新創(chuàng)建并配置Job

1. 在Jenkins首頁(yè)點(diǎn)擊新建:

job_config_1.png

2. 配置參數(shù)化構(gòu)建過(guò)程:

job_config_2.png

3. 配置主工程源碼及依賴(lài)工程源碼

因?yàn)槲覀冺?xiàng)目工程結(jié)構(gòu)比較特殊, 依賴(lài)module并不包含在主工程目錄里, 而是與主工程目錄平級(jí)的, 所以采用了Multiple SCMs, 并且配合動(dòng)態(tài)替換setting.gradle的方式,達(dá)到正確引入module依賴(lài)的目的.

下載好Multiple SCMs插件后, 就會(huì)出現(xiàn)下面的"Multiple SCMs"選項(xiàng), 如下圖配置:


job_config_3.png

在module下選擇'Add', 選擇 'check out to a sub-directory',配置本地目錄module根目錄名.


job_config_4.png

這里說(shuō)明一下,其實(shí)我們的代碼會(huì)從服務(wù)端拉取到本地, 并在本地生成對(duì)應(yīng)的目錄,這個(gè)目錄就是上面所說(shuō)的'workspace'目錄里, 然后具體構(gòu)建的時(shí)候就對(duì)本地代碼進(jìn)行的編譯構(gòu)建.

4. 構(gòu)建環(huán)境

需要下載build-name-setter插件,才會(huì)出現(xiàn) Set Build Name這個(gè)選項(xiàng).


job_config_5.png

5.構(gòu)建配置

注意下面的各個(gè)子項(xiàng)是可以長(zhǎng)按拖動(dòng)位置位置的,具體位置如何, 要根據(jù)是需要在開(kāi)始構(gòu)建前做一些操作還是在開(kāi)始構(gòu)建后, 比如說(shuō)下面的copy命令,就是因?yàn)槲覀冃枰陂_(kāi)始構(gòu)建前,完成setting.gradle的替換操作, 所以位置前移到了構(gòu)建開(kāi)始前.

如果是Windows系統(tǒng),則選擇'Execute Windows batch command',并輸入如下命令:
copy /y %WORKSPACE%\settings_copy.gradle %WORKSPACE%\settings.gradle
如果是Linux或者M(jìn)ac系統(tǒng), 則選擇'Execute shell', 并輸入如下命令:
\cp -rf $WORKSPACE/settings_copy.gradle $WORKSPACE/settings.gradle

job_config_7.png

注意到上面有一個(gè)Python命令, 用于生成下載二維碼用的,在這之前, 需要先去github上下載qrcode-master到本地, 然后再本地磁盤(pán)上指定一個(gè)目錄存放二維碼圖片,例如上面的download目錄, 那么如何將Tomcat與這個(gè)目錄聯(lián)系起來(lái)呢? 需要做如下操作:

其中E:\download是硬盤(pán)上創(chuàng)建的保存路徑,需要在\Tomcat\conf\Catalina\localhost里創(chuàng)建一個(gè)download.xml文件,并映射該路徑: <?xml version="1.0" encoding="UTF-8"?> <Context path="/download" docBase="E://download" crossContext="true"> </Context>

這樣執(zhí)行上面的Python命令就可以生成對(duì)應(yīng)的apk包的二維碼了, 如果是Linux系統(tǒng),也是類(lèi)似的, 具體不詳細(xì)說(shuō).

6. 構(gòu)建后操作:

job_config_8.png

<img src='http://localhost:8080/download/qrcode.png' width=200px height=200px> </img> <a href='http://localhost:8080/jenkins/job/job名/lastSuccessfulBuild/artifact/app/build/outputs/apk/app-develop-debug.apk'>下載連接</a>

郵箱配置里的環(huán)境變量均已在全局系統(tǒng)配置里聲明了, 否則也可以直接在這里寫(xiě).

參考文獻(xiàn):

Jenkins+Tomcat + Gradle + Tinker + Walle + 360加固 + fir.im 持續(xù)集成,自動(dòng)構(gòu)建
移動(dòng)測(cè)試基礎(chǔ) 使用 Jenkins 搭建 iOS/Android 持續(xù)集成打包平臺(tái) (開(kāi)箱即用)
Jenkins進(jìn)階系列之——04Publish Over FTP Plugin插件
Jenkins+Gradle實(shí)現(xiàn)android開(kāi)發(fā)持續(xù)集成問(wèn)題匯總
Android Jenkins+Git+Gradle持續(xù)集成-實(shí)在太詳細(xì)
Jenkins中配置多項(xiàng)目SCM
Jenkins可用環(huán)境變量列表以及環(huán)境變量的使用(Shell/Command/Maven/Ant)
Jenkins自動(dòng)打包配置
Android-解放雙手告別測(cè)試-使用Jenkins自動(dòng)化打包

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浮庐,一起剝皮案震驚了整個(gè)濱河市甚负,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌审残,老刑警劉巖梭域,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異搅轿,居然都是意外死亡病涨,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)璧坟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)既穆,“玉大人赎懦,你說(shuō)我怎么就攤上這事』霉ぃ” “怎么了励两?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)囊颅。 經(jīng)常有香客問(wèn)我当悔,道長(zhǎng),這世上最難降的妖魔是什么踢代? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任盲憎,我火速辦了婚禮,結(jié)果婚禮上胳挎,老公的妹妹穿的比我還像新娘饼疙。我一直安慰自己,他們只是感情好慕爬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布窑眯。 她就那樣靜靜地躺著,像睡著了一般澡罚。 火紅的嫁衣襯著肌膚如雪伸但。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天留搔,我揣著相機(jī)與錄音更胖,去河邊找鬼。 笑死隔显,一個(gè)胖子當(dāng)著我的面吹牛却妨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播括眠,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼彪标,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了掷豺?” 一聲冷哼從身側(cè)響起捞烟,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎当船,沒(méi)想到半個(gè)月后题画,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡德频,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年苍息,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竞思,死狀恐怖表谊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盖喷,我是刑警寧澤爆办,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站传蹈,受9級(jí)特大地震影響押逼,放射性物質(zhì)發(fā)生泄漏步藕。R本人自食惡果不足惜惦界,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咙冗。 院中可真熱鬧沾歪,春花似錦、人聲如沸雾消。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)立润。三九已至狂窑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桑腮,已是汗流浹背泉哈。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留破讨,地道東北人丛晦。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像提陶,于是被迫代替她去往敵國(guó)和親烫沙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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