《實戰gradle》 自動化構建一 瞭解自動化構建
阿新 • • 發佈:2019-01-27
最近在看Benjamin Muschko 的《實戰 Gradle》,雖然這本書並不是基於現在的android|Studio的角度來寫的。但是描述的自動化構建原理非常的透徹,所以我在閱讀的同時把它記錄下來,希望能幫到需要這部分內容的朋友們.
專案自動化
- 自動化的好處
在專案沒有自動化的時候,雖然IDE給我們做了很多的事情,但是程式碼的整合完全是一個災難,而且測試過程慢的要死,每一次的部署都好像是在跑馬拉松,打一個比方,想在一個專案裡有兩個小組,編寫web前端頁面的小組和編寫支援前端的後臺小組,當每個小組將程式碼編寫完後,需要做的是到一臺電腦上去編譯這個專案,編譯出一個可交付的軟體,其中每一步都需要手動去完成,其中還會出現很多風險。
其實對於每一次 持續可充許多編譯和交付方式我們完全可以進行自動化構建,它能夠帶來很多好處,首先,建立可重複的構建,能夠解放重複勞動的時間,第二,構建能夠隨身攜帶,攜帶到任何一個平臺,所以構建應該時基於命令列,不應該依賴於單一作業系統,最後,自動化的構建能夠規避掉大部分的人為風險。
專案自動化的型別
(1)按需構建 典型用例就是使用者在自己的機器上觸發構建。
(2)觸發構建 適合在敏捷開發中,通過提交操作來觸發
(3)預定構建 預先設定時間排程來觸發設計好的自動化構建
自動化構建工具
我們需要一個工具,它能夠幫助我們建立一個可重複、可靠的、便攜的且不需要手動干預的構建。java流行的開源構建工具,Ant和Maven. 但是Ant和Maven的優缺點都十分明顯,xml的指令碼語言臃腫而且無序,並且預設的標籤和語法,限制了它的靈活性,所以我選擇使用gradle.
Gradle 的有點幾乎囊括了Ant和Maven的有點,並且具備它們所沒有的。可表達性的構建語言和底層API、靈活的約定以及強大的依賴管理、靈活的外掛定製、與其它構建工具較好的整合,這些都是gradle打敗它們的理由。