1. 程式人生 > >Jenkins實現Android自動化打包

Jenkins實現Android自動化打包

1、Tomcat

進入 https://tomcat.apach

e.org/ 官網,下載最新的 tomcat 安裝包並且安裝。

安裝完成後,啟動 tomcat 後,在瀏覽器中輸入 http://localhost:8080/ , 如果看到下面的介面,那麼tomcat 就安裝配置好了。

2、Jenkins 部署到 Tomcat

進入jenkins 的官網 https://jenkins.io/ , 根據你搭建平臺的不同,下載 jenkins war 包 ,我們這裡用 windows 平臺做演示。

 

war 包如下圖所示

 

把 war 包放在 tomcat 的 webapps 目錄下,如下圖所示:

然後在瀏覽器中訪問 : http://localhost:8080/jenkins/ , 你將會看到如下介面 , 代表 Jenkins 已經部署完成了,下一步安裝 Jenkins.

3、填寫 Jenkins 超級管理員密碼

在上圖的輸入框內要輸入超級管理員許可權的密碼,這個 密碼在紅色路徑的檔案裡 ,輸入密碼後,點選 continue , 如下圖所示:

 

4、Jenkins 外掛安裝和超級管理員配置

填寫完密碼後,將會看到外掛安裝介面

 

我們選擇第一項,安裝預設Jenkins外掛。安裝外掛過程如下圖所示:

等所有的外掛都安裝完成,我們將會看到使用者名稱設定介面。

這個介面你有兩個選擇可以操作,

選擇一:直接點選 Continue as Admin 安裝,預設此時的超級管理員為 admin .

選擇二:輸入使用者名稱,密碼,確認密碼,全名,電子郵件地址。然後點選 Save and Finish . 注意你輸入的使用者名稱就是 Jenkins 的超級管理員。需要注意的是,上面的每一項都需要填寫,否則點選 Save and Finish 按鈕沒有效果。

等上面的步驟都操作完畢,你將會看到如下介面,代表 Jenkins 的外掛安裝和超級管理員已經配置好了。

5、Jenkins 全域性配置

Jenkins 全域性配置
JDK 和 Gradle 配置

由於Android 是基於 java 的,我們需要配置 JDK;由於我們用 Gradle 構建Android 專案,我們需要設定 Gradle 的環境 。

在 系統管理 –> 全域性工具配置

Android SDK 配置

系統管理 –> 系統設定 – 全域性屬性

在 Environment variables 裡面增加一個鍵值對. 
鍵:ANDROID_HOME 
值:SDK 路徑

6、建立任務

點選建立一個新的任務,如下圖所示:

7、專案配置

1、選擇原始碼管理工具,Git 或者 Subversion . 下面我們的演示選擇 Git. 
2、填寫 Git 倉庫地址 
3、選擇 Git 證書憑證, 如果沒有建立過證書,顯示 none , 可以點選右邊的 Add 按鈕新增一個證書憑證。 
4、新增證書憑證,新增的方法詳見下面的圖。 
5、選擇 Git 倉庫的分支 
6、原始碼瀏覽器,Git 有很多管理器,我們這裡選擇自動就好了。

新增證書
從 Git 上拉取程式碼,有兩種方式:使用者名稱+密碼、SSH . 根據自己的需要選擇。

填寫 Git 倉庫的使用者名稱和密碼

1、代表配置的專案 
2、構建模組 
3、選擇 Gradle 構建工具的版本號,可以選擇預設構建版本號,也可以選擇自己自定的版本號。 
4、填寫 Gradle 構建任務

  • 打 release 包
  • 解釋:
  • 打 debug 包
  • 解釋:
  • 同時打 debug 包和 release 包

8、構建觸發器

在上面部分我們發起構建的命令是點選 立即構建 的按鈕,Jenkins 裡面有構建觸發器的方式,提供遠端構建任務。

  • 1、觸發遠端構建 (例如,使用指令碼):填入身份驗證令牌,可以隨便填寫,我們這裡填入 123456 , 填寫完成後,在輸入框的下方有提醒
  • Use the following URL to trigger build remotely: JENKINS_URL/job/APP%20TEST/build?token=TOKEN_NAME 或者 /buildWithParameters?token=TOKEN_NAME
    Optionally append &cause=Cause+Text to provide text that will be included in the recorded build cause.
  • 根據提示,我們自瀏覽器中訪問地址: http://127.0.0.1:9999/jenkins/job/AppTest/build?token=123456 , 這樣就可以觸發構建任務。
  • 2、Build after other projects are built : 在其他任務結束後,開始本次構建任務。
  • 示例:在 test app專案構建成功後,開始本次構建任務。

①Trigger only if build is stable:其他專案構建成功 
②Trigger even if the build is unstable:其他專案不穩定 
③Trigger even if the build fails:其他專案構建失敗

Build periodically:週期進行構建(它不關心原始碼是否發生變化)
日程表:

示例:

注意

1、在日程表中,# 可以代表註釋,但是需要單獨寫一行。

2、官方日程表語法:https://en.wikipedia.org/wiki/Cron#CRON_expression

3、日程表的語法欄位遵循cron的語法(略有不同)。 具體來說,每行由5個由TAB或空格分隔的欄位組成:MINUTE HOUR DAY MONTH WEEK

4、時間順序和: MINUTE (0-59), HOUR (0-23), DAY (1-31), MONTH (1-12), DAY OF THE WEEK (0-7)

其他的日程表:

GitHub hook trigger for GITScm polling:hookplugin 檢測到原始碼的 push 操作觸發構建 , 感覺Poll SCM 更方便些,如果提交頻繁,則這個觸發就會頻繁,看業務需要設定。

Poll SCM : 定時檢查原始碼變更(根據SCM軟體的版本號),如果有更新就 checkout 最新code下來,然後執行構建動作。

日程表示例:

示例:

 

9、構建後操作

構建結果釋出到 fir 平臺
fir 是國內提供測試應用極速釋出,應用崩潰實時分析、使用者反饋收集等一系列開發測試效率工具服務,幫助開發者將更多精力放在產品的開發與應用的優化上。

官網: https://fir.im/

登入後,在 fir 官網的個人資料中, 可以找到 API Token , 這個 token 我們在後面會用到。

fir.im Jenkins 外掛使用方法: http://blog.fir.im/jenkins/

下載外掛

Jenkins 構建完成後,生成的 apk 檔案,我們通過外掛的方式上傳到 fir . 通過上面的連線,我們下載 Jenkins 的 fir 外掛到本地。

安裝外掛

系統管理 –> 外掛管理 –> 高階 –> 上傳外掛

使用外掛

配置 –> 構建後操作 –> 增加構建後操作步驟 –> Upload to fir.im

填寫 API Token

 

構建結果

通過日誌看到上傳 fir 成功。