當前位置:
首頁 > 最新 > Jenkins實現自動化打包並集成fir平台

Jenkins實現自動化打包並集成fir平台

解放你的雙手!

作者博客

http://www.cnblogs.com/zhaoyanjun/

文章目錄

安裝Tomcat

Jenkins 部署到 Tomcat

填寫 Jenkins 超級管理員密碼

Jenkins 插件安裝和超級管理員配置

創建任務

項目倉庫配置

Jenkins 全局配置

創建 Jenkins 構建任務

執行構建任務

構建結果

構建後操作

構建觸發器

1

安裝Tomcat

進入https://tomcat.apache.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

創建任務

點擊創建一個新的任務,如下圖所示:

6

項目倉庫配置

1、選擇源碼管理工具,Git 或者 Subversion . 下面我們的演示選擇 Git.

2、填寫 Git 倉庫地址

3、選擇 Git 證書憑證, 如果沒有創建過證書,顯示 none , 可以點擊右邊的 Add 按鈕添加一個證書憑證。

4、添加證書憑證,添加的方法詳見下面的圖。

5、選擇 Git 倉庫的分支

6、源碼瀏覽器,Git 有很多管理器,我們這裡選擇自動就好了。

添加證書

從 Git 上拉取代碼,有兩種方式:用戶名+密碼、SSH . 根據自己的需要選擇。

填寫 Git 倉庫的用戶名和密碼

7

Jenkins 全局配置

JDK 和 Gradle 配置

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

在 系統管理 --> Global Tool Configuration

Android SDK 配置

系統管理 --> 系統設置 -- 全局屬性

在 Environment variables 裡面增加一個鍵值對.

鍵:ANDROID_HOME

值:SDK 路徑

8

創建 Jenkins 構建任務

1、代表配置的項目

2、構建模塊

3、選擇 Gradle 構建工具的版本號,可以選擇默認構建版本號,也可以選擇自己自定的版本號。

4、填寫 Gradle 構建任務

打 release 包

app:clean : 清除....../app目錄下的build文件夾

app:assembleRelease : 編譯並打Release的包

打 debug 包

app:clean : 清除....../app目錄下的build文件夾

app:assembleDebug: 編譯並打Debug的包

同時打 debug 包和 release 包

app:cleanapp:assembleDebug app:assembleRelease

9

執行構建任務

點擊立即構建按鈕,開始執行構建任務。

1、點擊立即構建,開始執行構建任務

2、進度條,表示正在構建的項目。

3、藍色的圖標表示構建成功

4、紅色的圖標表示構建失敗

點擊正在構建的條目,可以進入正在構建的信息。

狀態集:構建人用戶名、構建git 節點

Console Output:構建過程中的輸出控制台,會輸出構建過程中的詳細信息,這個功能很重要,如果構建失敗,可以從這裡找到錯誤的原因。

編輯編譯信息:每次構建任務的時候,構建名字是數字形式疊加,這裡可以自定義構建任務的名字。

Git Build Data:本次構建 Git 倉庫的相關信息。

10

構建結果

在 Console Output 面板中,出現了 BUILD SUCCESSFUL , 代表任務構建成功。

11

構建後操作

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 成功。

總結

到這裡關於 Jenkins 的自動化打包的主要內容已經介紹完了。下面將會介紹一些附加的操作,能夠更好的使用 Jenkins .

12

構建觸發器

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

1、觸發遠程構建 (例如,使用腳本):填入身份驗證令牌,可以隨便填寫,我們這裡填入 123456 , 填寫完成後,在輸入框的下方有提醒:

Use the following URL to trigger build remotely: JENKINS_URL/job/AppTest/build?token=TOKEN_NAME 或者 /buildWithParameters?token=TOKEN_NAMEOptionally 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 : 在其他任務結束後,開始本次構建任務。

示例:在 AppTest1 項目構建成功後,開始本次構建任務。

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下來,然後執行構建動作。

日程表示例:

示例:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 碼蛋 的精彩文章:

還在為不寫技術博客找理由?寫好一篇博客,只需四步
這10個超有料的技術號,你都關注了嗎?
是什麼造成你的應用內存泄漏?
你知道APP從啟動到主頁面顯示經歷了哪些過程嗎?
史上最詳細仿QQ消息拖拽粘性效果

TAG:碼蛋 |