你需要什么
-
命令提示符
-
Java 开发工具包 (JDK),版本 1.8 或更高版本
-
TeamCity 安装(本指南中解释了设置步骤)
设置典型项目
为了演示目的,本指南将重点介绍构建基于 Java 的项目;但是,此设置适用于任何与 Gradle 兼容的项目。更具体地说,是用 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 运行时。
设置 TeamCity
JetBrains TeamCity 是一款功能强大且用户友好的持续集成和部署服务器,开箱即用。JetBrains 提供多种许可选项,允许您根据需要扩展 TeamCity。在本设置中,我们将使用 TeamCity Professional,这是一个免费的完整功能版本,适合一般项目。在本节中,您将学习如何设置 TeamCity,创建一个构建配置以从 GitHub 拉取源代码并运行 Gradle 构建。
安装并启动 TeamCity
在 TeamCity 网站 上,您可以选择各种发行版。本文使用与 Tomcat servlet 容器捆绑在一起的 TeamCity,并涵盖了 TeamCity 服务器和在同一台机器上运行的默认构建代理的评估设置。
-
确保您已安装 JRE 或 JDK,并且 JAVA_HOME 环境变量指向 Java 安装目录。需要 Oracle Java 1.8 JDK。
-
下载 TeamCity .tar.gz 发行版。解压缩
TeamCity<版本号>.tar.gz
存档,例如,在 Windows 下使用 WinZip、WinRar 或类似的工具,或在 Linux 或 macOS 下使用以下命令
tar xfz TeamCity<version number>.tar.gz
-
使用 <TeamCity 主目录>/bin 目录中提供的 runAll 脚本同时启动 TeamCity 服务器和一个默认代理,例如
runAll.sh start
-
要访问 TeamCity Web UI,请导航到
http://localhost:8111/
。按照 TeamCity 设置的默认值操作。系统将提示您设置一个新的管理员用户。
接下来,我们可以设置项目并在 TeamCity 中运行构建。
创建 TeamCity 构建
在 TeamCity 中设置新的 Gradle 构建只需要点击几下:TeamCity 附带了 Gradle 插件,因此您无需额外安装插件。但是,建议您安装 TeamCity Build Scan 插件。
在 管理 | 项目 页面上,点击创建项目,使用从仓库 URL 选项,并输入 GitHub 仓库的 URL:https://github.com/gradle/gradle-site-plugin.git
。
按照创建项目向导操作,它将提示您输入项目和构建配置名称,并自动检测构建步骤。选择自动 Gradle 构建步骤,然后点击使用所选
构建步骤将添加到构建配置中
点击页面上的编辑,在打开的页面上点击高级选项。使用 Wrapper 执行构建被认为是 Gradle 的最佳实践,并且在自动检测中,此选项默认被选中。我们希望生成构建扫描,因此我们将输入--scan
选项到其他 Gradle 命令行参数字段中。
保存设置,我们就可以运行构建了。
在 TeamCity 中运行构建
点击右上角的运行按钮
TeamCity 将启动构建,您可以通过点击构建配置主页查看构建进度。构建完成后,您可以通过点击构建编号链接查看构建结果
您可以在 TeamCity 中直接查看测试
构建参数和环境信息可在构建结果的参数选项卡中找到。
如果您安装了TeamCity Build Scan 插件,您将在构建结果视图中看到一个指向构建扫描的链接
否则,指向构建扫描的链接可在构建日志中找到
总结
在 CI 上执行 Gradle 构建只需几个步骤即可设置和配置。快速获得反馈的好处不言而喻。如果您没有使用 TeamCity,也没问题,许多 CI 产品将 Gradle 作为一等公民紧密集成。