Android持續(xù)集成之Jenkins 部署
版權(quán)聲明:本文為博主原創(chuàng)文章鸭蛙,未經(jīng)博主允許不得轉(zhuǎn)載芥颈。
轉(zhuǎn)載請(qǐng)表明出處:http://www.reibang.com/p/292a32918415
[TOC]
0x00安裝
準(zhǔn)備工作如下:
Tomcat8.5下載地址
Jenkins下載鏈接
1 將下載的jenkins.war包放至tomcat下的webapps目錄
-
2 瀏覽器直接訪問(wèn)如下鏈接即可
ip:tomcatPort/jenkins/
-
3 看到如下頁(yè)面后妄呕,按照上面的提示牺荠,需要輸入默認(rèn)生成的管理員密碼婚被,在終端中輸入如下命令
cat /var/root/.jenkins/secrets/initialAdminPassword
將終端中輸出的密碼填入輸入框子姜,隨后點(diǎn)擊Continue按鈕
- 重點(diǎn)來(lái)了,Jenkins最強(qiáng)大的特點(diǎn)就是插件燎竖,點(diǎn)擊上圖的Continue后璃弄,會(huì)進(jìn)入下面的頁(yè)面
- 這里默認(rèn)選擇第一項(xiàng)即可(有的插件不一定能安裝成功,但并不影響Jenkins使用)构回,點(diǎn)擊后進(jìn)入如下自動(dòng)安裝界面
- 這里有可能出現(xiàn)下面這種情況夏块,解決方法要么就retry一下,要么就Continue繼續(xù)下一步(建議下一步纤掸,少裝一個(gè)不影響使用)
- 來(lái)到下一步是創(chuàng)建admin用戶脐供,可以跳過(guò)點(diǎn)擊
Continue as admin
,也可以創(chuàng)建一個(gè)Admin用戶(這里推薦創(chuàng)建一個(gè)用戶,因?yàn)楹笃趧?chuàng)建很麻煩)隨后點(diǎn)擊Save and Finish
,結(jié)束安裝
0x01配置Jenkins
Global Tool Configuration
-
點(diǎn)擊左側(cè)菜單中的系統(tǒng)管理借跪,再點(diǎn)擊列表中的
Global Tool Configuration
選項(xiàng)政己,進(jìn)入Global Tool Configuration配置頁(yè)面
WechatIMG24 JDK模塊:
需要將自動(dòng)安裝選項(xiàng)去掉,隨后填入:別名<隨意填>掏愁、JAVA_HOME<填寫本地的JAVA絕對(duì)路徑>Git模塊:
別名<隨意填>歇由、Path to Git executable<填入本地Git的絕對(duì)路徑>Gradle模塊:
點(diǎn)擊新增Gradle,隨后去掉自動(dòng)安裝選項(xiàng)卵牍,然后填入:別名<隨意填>、GRADLE_HOME<填入本地Gradle的絕對(duì)路徑>沦泌,這里建議配置多個(gè)糊昙,因?yàn)榛蛟S你所部署的工程需要不同的Gradle進(jìn)行編譯。最后點(diǎn)擊最下邊的Save按鈕即可
系統(tǒng)屬性
-
點(diǎn)擊左側(cè)
系統(tǒng)管理
按鈕谢谦,在列表中選擇系統(tǒng)設(shè)置
如下圖所示:
WechatIMG25 -
把環(huán)境變量選項(xiàng)勾上
WechatIMG26 在里面的
鍵
中填入ANDROID_HOME
释牺,值
中填入你的Android Sdk路徑最后點(diǎn)擊最下邊的Save按鈕進(jìn)行保存配置,此舉是為了避免在打包時(shí)發(fā)生
ANDROID_HOME not found
的情況
0x02新建一個(gè)任務(wù)
- 在主頁(yè)中找到創(chuàng)建一個(gè)新任務(wù)的按鈕他宛,如下圖所示
輸入任務(wù)名字后船侧,選擇
構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目
,點(diǎn)擊底部的 OK 按鈕打開(kāi)的頁(yè)面中欠气,點(diǎn)擊源碼管理模塊中的 Git 選項(xiàng)厅各,由于我使用oschina的Git庫(kù)且使用https協(xié)議,所以我這里填入倉(cāng)庫(kù)的克隆地址
點(diǎn)擊 ad 按鈕预柒,使用默認(rèn)配置队塘,填入用戶名密碼即可,如下圖所示:
![屏幕快照 2017-08-17 上午11.29.24](http://oupvrckn2.bkt.clouddn.com/屏幕快照 2017-08-17 上午11.29.24.png)
點(diǎn)擊 add 按鈕后宜鸯,下面的分支也可以填入其他分支名
隨后點(diǎn)擊構(gòu)建 Tab滾動(dòng)到最底部憔古,選擇
增加構(gòu)建步驟
,選擇Invoke Gradle script
淋袖,然后在Gradle Version
這里選擇你需要使用的版本最后點(diǎn)擊保存按鈕鸿市,進(jìn)入項(xiàng)目界面
0x03構(gòu)建項(xiàng)目
- 在項(xiàng)目界面最左側(cè)菜單中,點(diǎn)擊
立即構(gòu)建
按鈕 - 此時(shí)在左側(cè)的歷史菜單可以看到正在編譯的任務(wù)即碗,點(diǎn)擊進(jìn)去可以看到詳情
- 左側(cè)的菜單中
Console Output
點(diǎn)擊后可以看到控制臺(tái)的輸出
0x04按時(shí)打包
- 在項(xiàng)目界面最左側(cè)菜單中焰情,點(diǎn)擊配置,滑動(dòng)到
構(gòu)建出發(fā)器
剥懒,這里對(duì)里面的幾個(gè)選項(xiàng)說(shuō)明如下:
類型 | 描述 |
---|---|
Build periodically | 定期進(jìn)行構(gòu)建 |
Build when a change is pushed to GitHub | 根據(jù)提交進(jìn)行構(gòu)建 |
Poll SCM | 定期檢測(cè)代碼更新内舟,如有更新則進(jìn)行構(gòu)建 |
- 定時(shí)器(Schedule)的格式,簡(jiǎn)述如下:
MINUTE HOUR DOM MONTH DOW
Type | Description | Range |
---|---|---|
MINUTE | Minutes within the hour | 0-59 |
HOUR | The hour of the day | 0-23 |
DOM | The day of the month | 1-31 |
MONTH | The month | 1-12 |
DOW | The day of the week,where 0 and 7 are Sunday | 0-7 |
通常情況下需要指定多個(gè)值初橘,這時(shí)可以采用如下operator(優(yōu)先級(jí)從上到下):
*
適配所有有效的值验游,若不指定某一項(xiàng),則以*
占位保檐;
M-N
適配值域范圍耕蝉,例如7-9代表7/8/9均滿足;
M-N/X
或*/X
:以X作為間隔夜只;
- 為了避免在多任務(wù)在同一個(gè)時(shí)刻觸發(fā)構(gòu)建時(shí)垒在,最好配合
H
字符進(jìn)行描述。 - 關(guān)于上面的定時(shí)器這里舉個(gè)例子:
- H 23 * * 1-5:工作日每晚23:00至23:59之間的某一時(shí)刻盐肃;
0x05 總結(jié)
以上是利用Jenkins持續(xù)集成的部署方式之一爪膊,歡迎支持权悟。