標籤:
關於持續整合的定義和意義可以參考它的 百度百科
主要意義有以下幾點:
減少風險減少重複過程任何時間、任何地點產生可部署的軟體增強項目的可見度建立團隊對開發產品的信心
持續整合的實施
持續整合的工具有多個,本人實施的時候採用了Jenkins,它的前身是Hudson。
關於Jenkins的介紹可自行搜尋,其主要特點是支援多種外掛程式。
下面說說如何針對Android搭建一個可用的持續整合的系統。
用到的工具:
1.Android 完整的開發環境 :Android SDKAndroidStudio 1.0.0穩定版本Gradle 2.2.1版本Gradle的外掛程式 1.0.0 版本jdk 1.7以上
2.伺服器需要的工具:
Tomcat 最新版本 ,:http://tomcat.apache.org
Jenkins 工程war包最新版本即可,:http://jenkins-ci.org/
建議將Tomcat部署在Linux或者Mac系統上,主要是用命令做一些編譯的工作更方便一些,而且一些命令windows上沒有。
但是本人沒有mac也沒有Linux系統的電腦,所以就在windows 上進行了搭建。
3.版本控制伺服器
建議使用git,當然svn也是闊以的,我這邊使用的是git,兩者只是配置不一樣。
4.環境變數的配置
jdk環境變數 自行搜尋進行配置
Gradle 2.2.1環境變數
Android SDK的環境變數
Tomcat環境變數
配置Tomcat環境變數1,建立變數名:CATALINA_BASE,變數值:C:\tomcat2,建立變數名:CATALINA_HOME,變數值:C:\tomcat3,開啟PATH,添加變數值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin
以上環境準備好後就可以進行下面的工作了
1. 將jenkins.war 丟在tomcat安裝目錄\webapps\ 下 ,如
2.啟動Tomcat
在cmd下,執行startup命令,稍等一會Tomcat就會自動部署Jenkins。
如果執行startup,報找不到命令的錯誤,則是由於Tomcat的環境變數沒配置好,需要檢查再配置
3.啟動Jenkins
啟動Tomcat後,會自動部署,在瀏覽器中輸入 http://localhost:8080/jenkins/
如果能正常顯示Jenkins的介面就表示成功了,如:
4.構建一個自由式饒舌的job
點擊建立,建立一個自由式饒舌任務
5.安裝Jenkins中的外掛程式
點擊系統管理,然後點擊外掛程式管理,進入到外掛程式管理介面,找到可選外掛程式
然後安裝下面幾個外掛程式,名字一定要一樣的,不要相似的
GIT plugin
Gradle plugin
目前有這2個外掛程式基本夠了,可實現自動從伺服器端拉代碼,實現自動構建了
6.設定項目,假如第4步中構建的job名稱為MyTestApp
點擊配置進入到該項目的配置介面
主要配置的有3個地方
1. git的配置 ,由於已經按照了git外掛程式
那麼在源碼管理下,便會出現git的選項,如
Repository URL 在此處填上項目的git地址,最好是https形式的,如果用ssh形式的地址,可能驗證起來比較麻煩,需要秘鑰
Credentials 地方 添加驗證方式 ,一般是username and password 方式,輸入自己的使用者名稱和密碼。
2. 填寫git要拉取的分支
具體看自己的需求來確定分支,有些是develop有些是master或者其他分支。
3. 增加構建步驟
在下面構建的地方,添加一個構建步驟,選擇 Invoke Gradle script 類型
填寫構建時的一些命令,如下
特別說明一點,Jenkins的操作目錄 windows中一般在 C:\Users\Administrator\.jenkins 下,mac環境下,需要在Finder中去找,好像是個隱藏目錄
所有的job都在 .jenkins 目錄的job目錄下可以看到,如
但是 Jenkins中某個job的所有命令的執行目錄 在 C:\Users\Administrator\.jenkins\jobs\{job名稱}\workspace
本例中目錄在 C:\Users\Administrator\.jenkins\jobs\MyTestApp\workspace 下,如果是正常的git目錄,拉下代碼後,workspace下面應該直接
是代碼目錄,但是我這邊的項目下面還一層目錄 workspace下面 不是代碼,而是一個目錄,在這個目錄下 執行 gradle build 會報找不到 task,
所以本人 在 switches 中 寫成 針對 某個項目的形式 :build -p /MyTestApp
如果是正常的目錄,直接寫成:build
所有的gradle 都無須 添加 gradle ,自動編譯的時候它自己會添上, 完整的 命令是:gradle build -p /MyTestApp 或者 gradle build
這樣就完成了簡單的配置,儲存之後,進行一次構建,就能看到最終的運行效果。
使用jenkins進行Android的持續整合