本身動手開發一個Android持續集成工具-0

本系列代碼地址 githubjava

相關資料 gradle in action中英文對照版linux

  1. 這是一個持續完善的文檔,若您有什麼問題,意見或者建議,請給我留言,我會進行修正。
  2. 在這個系列,不會一開始就介紹Groovy相關的一些概念,而是跟着項目走,遇到什麼概念就介紹什麼概念。

目錄

  1. 建立task
  2. task簡介
  3. task的依賴關係
  4. 完成蒲公英的上傳功能
  5. 完成企業微信的消息通知功能
  6. 格式化蒲公英上傳的文本和微信消息通知的文本
  7. 對編譯時間的統計-未完成
  8. 生成渠道包-未完成
  9. gradle project介紹-未完成
  10. gradle 經常使用命令

Gradle簡介

Gradle是一種聲明式的構建工具。在執行時,Gradle並不會一開始便順序執行build.gradle文件中的內容,而是分爲兩個階段,第一個階段是配置階段,而後纔是實際的執行階段。在配置階段,Gradle將讀取全部build.gradle文件的全部內容來配置Project和Task等,好比設置Project和Task的Property,處理Task之間的依賴關係等。android

Groovy語言簡介

Gradle的DSL是由Groovy實現的,它提供了基於Java的語法糖。結果就是產生了一種具備可讀性和表達性的構建語言。全部你寫的腳本都是Groovy。可以用編程語言來表達你須要的構建是Gradle的一大亮點。你沒必要成爲Groovy的專家才能開始寫腳本。由於Groovy是在Java的基礎上實現的,你能夠經過嘗試使用Groovy的語言特性來逐步遷移。你甚至能夠徹底用Java代碼來編寫定製邏輯。git

總結來講就是一下幾點:github

  1. 基於Gradle的構建腳本是用Groovy語言寫的
  2. Groovy是基於Java的
  3. Groovy兼容Java的語法,即在構建腳本編寫的時候,你既能夠用Groovy語法,也能夠用Java語法。

打包功能的功能介紹和使用方法

該工具提供幾個Gradle任務,以下圖:編程

每一個任務生成不一樣服務器環境的包,好比說我如今要生成一個測試環境的包,就直接雙擊「publishTestRelease」這個task,等待任務執行。tomcat

該任務會執行三個步驟。服務器

第一步

生成一個測試環境的apk包微信

第二步

將生成的apk上傳到蒲公英,以下圖:編程語言

第三步

發送消息到企業微信羣,通知相關人員,特別是測試人員,有新包了,以下圖:

和jekins的對比

Jenkins是一個開源項目,提供了一種易於使用的持續集成系統,使開發者從繁雜的集成中解脫出來,專一於更爲重要的業務邏輯實現上。同時Jenkins能實現監控集成中存在的錯誤,提供詳細的日誌文件和提醒功能,還能用圖表的形式形象地展現項目構建的趨勢和穩定性。Jenkins的前身是Hudson,是一個可擴展的持續集成引擎。

Jenkins實現Android的持續集成

  • 首先你得須要一臺服務器
  • 在這臺服務器上安裝環境(linux,java,tomcat,git,jekins,android sdk,android ndk,gradle......)
  • 配置jekins打包android的規則

要完成這套操做,引用其餘做者的一句話:

Jenkins這東西搭建起來真是一點也不省心啊,看着別人的教程摸着石頭過河,配置的東西有點多啊,稍有不慎,就構建不成功啦!即便步驟跟別人同樣也會報各類亂七八糟的錯誤啊哈哈,這東西只能佛系搭建。在經歷幾十次的隨緣構建以後,終於構建成功啦~~好感人!眼淚掉下來。。。。。。

並且用Jekins費力不說,尚未腳本本身實現來的靈活。

相關文章
相關標籤/搜索