前言
在平時的項目開發中,我們需要將最新的代碼及時打包(盡管是debug版本的)供公司內部人員及時的查看工作進度,這個怎么才能做到呢。
我的上家公司是創業公司,總是用一些很前衛的技術:Android Studio、Gradle、Git、Material等。這些在去年的Google IO大會后,在我們的項目中,已經開始全面的使用(其實Android項目就我一個工程師)。當時就有同事提出了CI這個自動化集成環境來處理,后來果然搭了一個Jenkins的CI環境,每次只需要提交代碼,CI會從GitLab上拉最新的代碼,自動打包,同時推到我們內部的下載/發布頁面上。而我們內部的員工在下載頁面上下載最新的安轉文件,用起來很爽啊。
對于工程師來說,你就只管提交代碼,不用關心怎么打包之類的。
對于產品或者測試,我只需要從發布頁面下載APK安裝文件,不必每次都跑工程師那,安裝個最新的包之類。
這中間是CI幫我們處理了,怎么更新代碼,怎么打包,怎么發版,他就是神器。
Do U think so。
就簡單說下CI的一些作用吧:

我每次提交一次代碼(Git/SVN作為代碼的版本控制)到develop分支上,CI檢測到有版本需要更新,就會在一定的時間內打出一個到指定的目錄下,而這個目錄就是我們可以訪問下載的頁面。
這周我也通過Jenkins搭建了一個簡單的CI(Continuous Integration)環境,以供大家使用。
準備
PC(mac or Linux機器)
Java +Gradle環境 +Android SDK
Tomcat 7+
Jenkins(最好是war文件)
-
配置好tomcat,能啟動訪問,將Jenkins放到Tomcat的WebAPP下,可以通過本地訪問到jenkins。圖2
全局配置
下載Git和Gradle的相關插件
在Jenkins首頁(圖1)-- 系統管理 -- 插件管理 ,搜索Gitlab和Gradle的插件。
全局配置
在Jenkins首頁(圖1)-- 系統管理 -- 系統管理:
配置JDK、Android SDK、Git、Gradle這些環境
配置Android SDK環境

配置JDK環境

配置Git環境

配置Gradle環境

配置Job
新建一個Job
對于Jenkins,每一個任務都是job,所以我們需要把自己的job映射到jenkins上。
在Jenkins首頁(圖1)--左側的新建

再回到jenjins的首頁,就會發現多了一個項目。
配置一個Job
根據Jenkins首頁(圖1)-- 項目 -- 配置進入到配置頁面。
1.填寫Git的相關信息和分支。

git的話,我現在用的是https協議的,用ssh協議的話,記得填寫key以private key.
2.SCM配置

scm就會每5分鐘更新一次,若是遠程倉庫的指定分支上更新

這樣配置完成了。
構建
回到你的項目的首頁,點擊左側的立即構建。

若是失敗了點擊本次的構建歷史。


發版到指定服務器
在構建完成后,我們不僅僅可以用gradle的命令,還可以使用shell、python等,這樣我們就可以模擬出一個發版的Server了,這個就不再啰嗦了。
只要更新在5分鐘內就可以在后臺看見jenkins在非常賣力的工作給我們打包。
這個就是構建歷史,還可以看見每次的狀態啊

發布頁面,這個頁面下,公司內部人員就可先嘗鮮了。
