環境搭建
- JDK下載與配置環境變數
- SDK下載與配置環境變數
- GIT下載與配置環境變數
- Jenkins下載與安裝。
本篇著重講如何配置Jenkins,前三個配置就不一一贅述,詳情請百度。
搭建步驟
檢查環境變數是否都配置正確。
1.環境變數檢查
win執行cmd
,輸入
java -version
複製程式碼
檢視是否輸出java version,如果輸出成功則證明配置JDK正確。
win執行cmd
,輸入
adb start-server
複製程式碼
檢視是否成功啟動adb server,如果成功則證明SDK配成功
win執行cmd
,輸入
git
複製程式碼
如果出現git usage說明則證明配置成功
-
解壓工具包,按照嚮導安裝Jenkins。安裝嚮導推薦的外掛。外掛安裝完在已安裝的列表中檢視是否已經安裝了Android Lint Plugin,Gradle Plugin, Git plugin外掛。
-
配置Jenkins的全域性工具配置
- 進入jenkin首頁,如下圖,點選繫系統管理。
找到全域性工具配置
- 配置JDK
- git配置
- gradle配置
注意:此處配置的gradle版本必須與所構建的專案一致。另外路徑不能過長,否則後面編譯會導致AAPT的錯誤(建議將對應版本gradle移動到某個盤的根目錄中,或者直接使用專案自帶的gradle在編譯時進行下載)。
- 配置全域性的SDK路徑如下圖
左邊找到系統管理,然後點選下圖所示的系統設定
找到環境變數配置,新增Android Sdk的配置,==路徑需要改為自己的SDK路徑==
環境變數到這裡就配置完畢了。新建無引數任務
-
新建任務
-
新增描述,點選高階設定配置工作區
-
配置程式碼git倉庫
- 配置構建
配置GradleWrapper
配置root build script 路徑
5. 點選儲存應用。 6. 點選立即構建,就可以完成自動打包的任務。新建帶引數任務
- 和無參任務一樣先建立一個自由風格的構建專案
- 選擇引數化構建過程
- 構建引數,與build.gradle中獲取的方式。
如上圖,以選項引數以及文字引數為例。在Jenkins中定義的引數可以使用"${parameterName}",例如Jenkins選擇分支時就可以使用此引數:
在Andrid專案中如何獲取對應的引數呢?因為Jenkins打包時會把引數侵入到專案中,在app包名下的build.gradle中可以這樣獲取上述的JAR_VERSION_NAME
:
def defaultName = "2.04.11"
def jarVersionName = project.hasProperty('JAR_VERSION_NAME') ? JAR_VERSION_NAME : defaultName
複製程式碼
注意:boolean引數使用選項引數來代替,在gradle3.3版本中執行時此引數會獲取不準確。
def needNewsSdk = project.hasProperty('NEED_NEWS_SDK') ? NEED_NEWS_SDK : "false"
boolean isNeedNewsSdk = needNewsSdk == "true"
複製程式碼
- 其它過程同無引數任務一致,在執行Gradle指令碼時需要將引數帶到命令中。
clean
assembleRelease -PJAR_VERSION_NAME=${JAR_VERSION_NAME} }
複製程式碼
注意:引數名使用-P
來開頭,P
為大寫
構建完後構建其它專案,且帶有引數。
- 需要安裝外掛
Parameterized Trigger plugin
,在系統管理-外掛管理-可安裝選項裡面檢索此外掛安裝並重啟Jenkins(重啟方法在Jenkins後面地址後面加上/restart
) - 在構建或者構建後操作選項裡面(因Jenkins版本不同,此外掛的位置也不同)找到:
填入要構建的下個專案名,並新增引數,可以選擇當前任務的引數如上圖。
其它
Jenkins工具包下載: 點選下載
提取密碼: 3zr5