書接上文,本文我們介紹一下DevOps工具集里面的編譯工具,。通常來講,,DevOps里面集成的編譯工具都是市面上比較流行的主流編譯工具。主要有以下幾種: 一,、 AntApache Ant是上古時期實現(xiàn)軟件編譯過程自動化的工具,,最早來自于2000年Apache Tomcat項目開發(fā)。Ant不僅能夠支持Java項目,,C,、C++項目也可以使用Ant作為自動化構(gòu)建工具。 Ant使用模塊擴展了shell命令的方式,,使用XML格式的配置未見編排構(gòu)建任務,,使用task模塊搭建構(gòu)建任務。使用Ant編排自動化構(gòu)建任務時需要編寫一個XML的buildfile文件,,所有的構(gòu)建步驟都在這個文件中定義,,執(zhí)行Ant命令將會調(diào)用這個buildfile進行構(gòu)建。Buildfile是一個XML格式文件,定義項目的相關(guān)信息和構(gòu)建任務編排,。所有的任務按照target模塊劃分,。 二、 MavenMaven最早被用于Java項目的自動化構(gòu)建,,它的意思是知識的累加器,,實現(xiàn)了構(gòu)建軟件的兩個功能:軟件如何構(gòu)建和構(gòu)建的依賴關(guān)系?;陧椖繉ο竽P?/span>(POM)理念,,Maven能管理項目的構(gòu)建、報告和文檔化,。POM文件是xml格式,,是Maven的基礎(chǔ)文件,包含項目的重要信息,,以one-stop-shopping的方式查找項目的信息,。 設計Maven的目的如下: (1) 構(gòu)建過程更簡潔。 (2) 使用同一的構(gòu)建系統(tǒng),。 (3) 提供有效的項目信息,。 (4) 為最佳開發(fā)實踐提供指導。 (5) 為新功能提供平滑的遷移,。 三,、GradleApache Ant和Maven統(tǒng)治著自動化build工具市場很多年,但是Gradle在2009年現(xiàn)身,,從那時起它就邁著穩(wěn)定增長的步伐越來越流行,。Gradle是基于Apache Ant和Maven概念的自動化構(gòu)建工具,Ant和Maven都有各自的局限,,Ant無法簡單地支持頻繁修改依賴關(guān)系的項目,,而Maven相對功能單一,兩者都是基于XML格式文件,,不利于設計if,、switch等判斷式語句,Gradle改良了這些問題,,引入了一種基于Groovy的DSL來描述build,。在2016年,Gradle團隊還發(fā)布了一種基于Kotlin的DSL,,因此用戶現(xiàn)在也可以用Kotlin來編寫build的腳本,。 Gradle最好的設計是增量build,因此可以節(jié)省大量的編譯時間,。根據(jù)Gradle的性能報告,,它比Maven快100倍,。這樣的性能優(yōu)勢一部分來源于這種增量設計,另外也得益于Gradle的build緩存和daemon,。build緩存重用task的輸出,,而Gradle的Daemon將build的信息儲存在內(nèi)存里,可以在多個build間共享,??偟膩碚f,,Gradle讓快速交付成為可能,,也讓配置更加靈活。 活在信息時代的其它文章: 從DevOps到AIOps(二):協(xié)同開發(fā)工具 從DevOps到AIOps(一):DevOps的背景與發(fā)展 自然語言處理(一):從試圖建立規(guī)則到試圖適應規(guī)則 移動開發(fā)知識:Android平臺如何進行藍牙模塊開發(fā) Java程序員應知應會之Maven和Gradle的區(qū)別 JDK13新特性詳解:老舊的Socket API是如何被重寫的 Java Web程序員應知應會:Jsp的內(nèi)置對象與應用 |
|