Android 開發(fā)基于 Jenkins 實現(xiàn)持續(xù)集成

Jenkins簡介

Jenkins是一個開源項目,提供了一種易于使用的持續(xù)集成系統(tǒng),使開發(fā)者從繁雜的集成中解脫出來,專注于更為重要的業(yè)務(wù)邏輯實現(xiàn)上。同時Jenkins能實現(xiàn)監(jiān)控集成中存在的錯誤,提供詳細(xì)的日志文件和提醒功能,還能用圖表的形式形象地展示項目構(gòu)建的趨勢和穩(wěn)定性。Jenkins的前身是Hudson,是一個可擴(kuò)展的持續(xù)集成引擎。

Jenkins安裝與配置

下載地址

http://mirrors.jenkins-ci.org/war/latest/jenkins.war

安裝

將下載的jenkins.war包直接放到tomcat下的webapps目錄下,然后啟動tomcat即可安裝完成,接下來登錄:http://localhost:8080/jenkins就能進(jìn)入jenkins系統(tǒng)頁面,在此不說tomcat如何配置環(huán)境變量。

編碼問題

當(dāng)你進(jìn)入jenkins系統(tǒng)管理頁面,會出現(xiàn)如圖提示,可修改tomcat的server.xml配置,在Connector 標(biāo)簽添加上 URIEncoding=”UTF-8”。

jenkins 系統(tǒng)管理頁面

配置

圖片.png
圖片.png

首先先添加一個administer用戶作為超級管理員,全部權(quán)限都打勾,如圖admin用戶。保存,重啟。用剛剛添加的超級管理員作為賬號名注冊一個賬號,即可擁有超級管理員權(quán)限。

圖片.png

環(huán)境變量

系統(tǒng)管理 => 系統(tǒng)設(shè)置,配置環(huán)境變量

配置環(huán)境變量

全局工具配置

系統(tǒng)管理 => 全局工具配置,配置git 及 gradle 變量

全局工具配置

Jenkins Gradle插件安裝

點擊“系統(tǒng)管理”–> “管理插件” –> “可選插件” 選中Gradle plugin插件安裝重啟即可。

可選插件
可選插件

Jenkins新建任務(wù)

點擊“新建”

新建工程

選擇“源碼系統(tǒng)”

源碼管理
  • Repository URL:git 倉庫地址(建議使用 ssh 配置公鑰方式,詳情請查閱相關(guān)文檔)

選擇“構(gòu)建觸發(fā)器”

來到了這一步,實屬不易,這里就是我們的天堂,就能完成“每當(dāng)svn上項目版本更改后,我就自動構(gòu)建,然后跑一次單元測試,當(dāng)然也可以改成每天一次或者每小時一次來監(jiān)控svn上項目版本更改情況?!?/p>

構(gòu)建觸發(fā)器

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

Poll SCM:定時檢查源碼變更(根據(jù)SCM軟件的版本號),如果有更新就checkout最新code下來,然后執(zhí)行構(gòu)建動作,這里我選擇它。

選擇“日程表”

日程表
 第一個參數(shù)代表的是分鐘 minute,取值 0~59; 
 第二個參數(shù)代表的是小時 hour,取值 0~23; 
 第三個參數(shù)代表的是天 day,取值 1~31; 
 第四個參數(shù)代表的是月 month,取值 1~12; 
 第五個參數(shù)代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。 
 如H/5 * * * * 表示的就是每5分鐘檢查一次源碼變化。

選擇 “構(gòu)建”,添加“Invoke Gradle script”

添加“Invoke Gradle script”
Invoke Gradle script

Switches :即gradle 后面所接的命令。上面相當(dāng)于執(zhí)行g(shù)radle clean build命令。

開始構(gòu)建

開始構(gòu)建

構(gòu)建后操作

您可以選擇發(fā)送郵件或者上傳蒲公英等。

上傳蒲公英

郵件通知

點擊“系統(tǒng)管理”–> “系統(tǒng)設(shè)置”

系統(tǒng)設(shè)置
發(fā)送郵件

構(gòu)建歷史

構(gòu)建完成后,可查看構(gòu)建歷史及構(gòu)建詳細(xì)信息~

構(gòu)建歷史

結(jié)語

希望這篇文章對IT同胞們會有所幫助~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容