使用 Gradle 构建缓存,顶级工程团队能够将 CI 构建时间缩短高达 90%。在此注册我们的构建缓存培训课程,了解您的团队如何实现类似的结果。

构建 Gradle 项目并不止于开发人员的机器。 持续集成 (CI) 已经成为一种长期建立的实践,用于为提交到版本控制的每一个更改运行构建,以收紧反馈循环。

在本指南中,我们将讨论如何为典型的 Gradle 项目配置 Jenkins

你需要什么

  • 一个文本编辑器

  • 一个命令提示符

  • Java 开发工具包 (JDK),版本 1.7 或更高版本

  • 一个 Jenkins 安装(本帖中解释了设置步骤)

设置一个典型的项目

例如,本指南将重点介绍基于 Java 的项目。更具体地说,是用 Java 编写的 Gradle 插件,并使用 Spek 进行测试。首先,我们将把项目设置在您的本地机器上,然后在 CI 上执行相同的步骤。

只需按照以下步骤操作

克隆 Gradle 网站插件 存储库

$ git clone https://github.com/gradle/gradle-site-plugin.git
Cloning into 'gradle-site-plugin'...
$ cd gradle-site-plugin

构建项目

作为 Java 项目的开发者,你通常需要编译源代码、运行测试并组装 JAR 文件。Gradle 插件也不例外。以下命令可以实现这些操作。

$ ./gradlew build

BUILD SUCCESSFUL
14 actionable tasks: 14 executed

该项目在仓库中提供了 Gradle Wrapper。对于任何 Gradle 项目来说,这都是一个推荐的做法,因为它可以让你的项目在 CI 上构建,而无需安装 Gradle 运行时。

构建扫描集成

示例项目支持生成 构建扫描。使用命令行选项 --scan 运行构建会在控制台中显示一个链接。

$ ./gradlew build --scan

Publishing build scan...
https://gradle.com/s/7mtynxxmesdio

以下部分将描述如何使用 Jenkins 构建项目。

设置 Jenkins

Jenkins 是该领域最主要的参与者之一。在本节中,你将学习如何设置 Jenkins,配置一个作业从 GitHub 拉取源代码并运行 Gradle 构建。

安装并启动 Jenkins

Jenkins 网站 上,你可以选择各种发行版。本文使用可运行的 WAR 文件。一个简单的 Java 命令就可以启动 Jenkins 服务器。

$ wget https://mirrors.jenkins.io/war-stable/latest/jenkins.war
$ java -jar jenkins.war

在浏览器中,导航到端口为 8080localhost,以显示 Jenkins 仪表板。系统会要求你设置一个新的管理员用户以及要安装的插件。

插件安装

首次启动 Jenkins 时,确认安装推荐的插件。在“管理 Jenkins > 管理插件”下,确保你已安装以下两个插件。

接下来,我们可以设置用于构建项目的作业。

创建 Jenkins 作业

设置新的 Gradle 作业只需点击几下即可完成。从左侧导航栏中选择“新建项目 > 自由风格项目”。输入项目的新名称。我们将为项目选择“gradle-site-plugin”。

在“源代码管理”部分中选择“Git”单选按钮。输入 GitHub 仓库的 URL:https://github.com/gradle/gradle-site-plugin.git

jenkins scm

此外,在“构建”部分中,通过选择“调用 Gradle 脚本”创建一个“构建步骤”。如前所述,我们将使用 Wrapper 来执行构建。在“任务”输入框中输入 build,并使用“开关”--scan -s 生成构建扫描并在构建失败时显示堆栈跟踪。

jenkins build step

执行作业

保存作业配置并通过触发“立即构建”按钮执行初始构建。构建应该成功完成并显示一个“Gradle 构建扫描”图标,该图标会直接带你到该构建的 构建扫描

jenkins build scan

持续触发 Jenkins 构建有多种选择:从定期轮询仓库,到按计划构建,再到通过回调 URL。

进一步阅读

您可以通过以下资源了解有关 Jenkins 高级用法的更多信息

总结

在 CI 上执行 Gradle 构建只需几个步骤即可设置和配置。快速获得反馈的好处不言而喻。如果您没有使用 Jenkins,也没问题,许多 CI 产品将 Gradle 作为一等公民紧密集成。