从DevOps到AIOps(四):编译工具

书接上文,本文我们介绍一下DevOps工具集里面的编译工具。通常来讲,DevOps里面集成的编译工具都是市面上比较流行的主流编译工具。主要有以下几种:


一、 Ant

Apache Ant是上古时期实现软件编译过程自动化的工具,最早来自于2000年Apache Tomcat项目开发。Ant不仅能够支持Java项目,C、C++项目也可以使用Ant作为自动化构建工具。

Ant使用模块扩展了shell命令的方式,使用XML格式的配置未见编排构建任务,使用task模块搭建构建任务。使用Ant编排自动化构建任务时需要编写一个XML的buildfile文件,所有的构建步骤都在这个文件中定义,执行Ant命令将会调用这个buildfile进行构建。Buildfile是一个XML格式文件,定义项目的相关信息和构建任务编排。所有的任务按照target模块划分。


二、 Maven

Maven最早被用于Java项目的自动化构建,它的意思是知识的累加器,实现了构建软件的两个功能:软件如何构建和构建的依赖关系。基于项目对象模型(POM)理念,Maven能管理项目的构建、报告和文档化。POM文件是xml格式,是Maven的基础文件,包含项目的重要信息,以one-stop-shopping的方式查找项目的信息。

设计Maven的目的如下:

(1) 构建过程更简洁。

(2) 使用统一的构建系统。

(3) 提供有效的项目信息。

(4) 为最佳开发实践提供指导。

(5) 为新功能提供平滑的迁移。

三、Gradle

Apache Ant和Maven统治着自动化build工具市场很多年,但是Gradle在2009年现身,从那时起它就迈着稳定增长的步伐越来越流行。Gradle是基于Apache Ant和Maven概念的自动化构建工具,Ant和Maven都有各自的局限,Ant无法简单地支持频繁修改依赖关系的项目,而Maven相对功能单一,两者都是基于XML格式文件,不利于设计if、switch等判断式语句,Gradle改良了这些问题,引入了一种基于Groovy的DSL来描述build。在2016年,Gradle团队还发布了一种基于Kotlin的DSL,因此用户现在也可以用Kotlin来编写build的脚本。

Gradle最好的设计是增量build,因此可以节省大量的编译时间。根据Gradle的性能报告,它比Maven快100倍。这样的性能优势一部分来源于这种增量设计,另外也得益于Gradle的build缓存和daemon。build缓存重用task的输出,而Gradle的Daemon将build的信息储存在内存里,可以在多个build间共享。总的来说,Gradle让快速交付成为可能,也让配置更加灵活。

展开阅读全文

页面更新:2024-05-13

标签:工具   目的   增量   缓存   格式文件   模块   文件   项目   软件   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top