要熟练掌握Jenkins持续集成的配置、使用和管理,需要了解相关的概念,例如代码开发、编译、打包、构建等名称概念,常见的代码相关概念包括:MAKE、ANT、MAVEN、Eclipse、Jenkins等。
1)make编译工具
make编译工具是linux和Windows最原始的编译工具,在Linux下编译程序常用make,Windows下对应的工具为nmake,读取本地Makefile文件,该文件决定了源文件之前的依赖关系,make负责更加Makefile文件去组织构建软件,负责指挥编译器如何编译,连接器如何连接,以及最后生成可用二进制的代码。
2)Ant编译工具
make工具在编译比较复杂的工程使用起来不方便,语法很难理解,延伸出ANT工具,ant工具属于apche基金会软件成员之一,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于java环境中的软件开发。
ant构建文件是XML文件。每个构建文件定义一个唯一的项目(project元素)。每个项目下可以定义很多目标元素,这些目标之前可以有依赖关系
构建一个新的项目时,首先应该编写ant构建文件。因为构建文件定义了构建过程,并未团队开发中每个所使用。
ant构建文件默认名为build.xml,也可以取其他的名字。只不过在运行的时候需要把这个命名当做参数传给ant。构建文件可以放在任何的位置,一般做法是放在项目顶层目录也即根目录,这样可以保持项目的简洁和清晰。
3)maven编译工具
maven工具是对ant工具的进一步改进,在make工具中,如果我们要编译某些源文件,首先要安装编译器等工具。有时候需要不同版本的编译器,在java的编译器要不同的各种包的支持,如果把每个包都下载下来,在Makefile中进行配置制定,当需要的包非常多时,很难管理。
Maven与Ant类似,也是个构建(build)工具,它是如何调用各种不同的编译器连接器呢?使用Maven plugin (maven 插件),Maven项目对象模型POM (Project Object Model),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。
POM是Maven项目中的文件,使用XML表示,名称为pom.xml。在Maven中,当构建Project的时候,不仅仅是一堆包含代码的文件。还包含pom.xml配置文件,该文件包括Project与开发者有关的、缺陷跟踪系统、组织与许可、项目的URL、项目依赖、以及其他配置。
在基于Maven构建编译时,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。
由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
4) Jenkins框架工具
Maven可以实现对软件代码进行编译、打包、测试,功能已经很强大了,那还需要Jenkins做什么呢?Maven可以控制编译,控制连接,可以生成各种报告,可以进行代码测试。
但是默认不能控制完整的流程? 没有顺序定义,是先编译还是先连接?先进行代码测试,还是先生成报告?可以使用脚本来对Maven进行控制,实现这些流程的控制。
5)Eclipse工具
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK),主要用于开发者开发网站代码。