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

构建 Gradle 项目并不仅仅限于开发人员的机器。 持续集成(CI) 是一种由来已久的实践,用于为提交给版本控制的每个单独更改运行构建,以收紧反馈循环。

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

你需要什么

  • 文本编辑器

  • 命令提示符

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

  • Jenkins 安装(本文中解释了设置步骤)

设置典型项目

例如,本指南将重点关注基于 Java 的项目。更具体地说,是一个用 Java 编写并使用Spek进行测试的 Gradle 插件。首先,我们将在本地计算机上设置项目,然后再在 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、配置作业以从 GitHub 提取源代码并运行 Gradle 构建。

安装并启动詹金斯

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

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

在浏览器中,导航到localhostwith port8080以呈现 Jenkins 仪表板。系统将要求您设置新的管理用户以及要安装的插件。

插件的安装

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

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

创建詹金斯作业

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

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

詹金斯供应链管理

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

詹金斯构建步骤

执行作业

保存作业的配置并通过触发“立即构建”按钮来执行初始构建。构建应该成功完成并呈现一个“Gradle Build Scan”图标,该图标将直接带您进入给定构建的构建扫描。

詹金斯构建扫描

有多种选项可以连续触发 Jenkins 构建:从定期轮询存储库,到按设定的时间表构建,或通过回调 URL 进行构建。

概括

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