宣布 Gradle Enterprise 2017.1
简介
我们很高兴宣布 Gradle Enterprise 2017.1 的发布。此版本包含许多新功能和错误修复,进一步扩展了构建扫描为您和您的团队提供的构建洞察力。以下是此版本的一些亮点。如果您对演示或试用感兴趣,请联系我们。
轻松查找两次构建之间依赖项的更改 #
构建之间依赖项的更改可能是问题的常见来源。例如,升级一个库的版本可能会无意中将不同版本的传递依赖项引入到您的项目中。反过来,这些较新的版本可能会因破坏与您的项目使用的其他库的兼容性而给您带来各种挫折。
新的构建比较功能使您可以快速查找构建之间依赖项的更改,包括传递依赖项的差异。
您可以轻松选择两个构建进行比较
并快速查看两个构建之间的依赖项差异
使用时间轴可视化构建的任务执行 #
当尝试加快构建速度时,了解所有进程是否得到有效利用非常有帮助。是否存在优化机会,例如可以将长时间运行的任务拆分为更小的任务并并行运行?要找到这些优化机会,您首先需要确定构建中的瓶颈在哪里。
新的时间轴功能为您提供构建期间执行的任务的可视化表示。使用此可视化,您可以快速识别构建中的瓶颈任务、构建中可以通过并行运行更多任务来加速执行的位置以及其他优化机会。
您还可以按名称/路径、类型等过滤任务,从而轻松检查和突出显示特定任务。
尝试使用此示例扫描的时间轴。
查看依赖项下载 #
下载依赖项所花费的时间会对构建时间产生重大影响。“性能”部分中的新“网络活动”选项卡显示构建中依赖项解析触发的所有下载,包括每个下载的大小以及所花费的时间。
您可以识别拖慢构建速度的大型或缓慢的下载。是否有来自您可以现场缓存的慢速远程存储库的下载?或者您的构建中不再需要并且可以完全删除的大型下载?
此外,您还可以查看构建中的下载总数、总下载大小以及所有下载的平均下载速度,以快速衡量构建期间的整体网络性能。
此功能需要即将推出的 Gradle 3.5 版本和构建扫描插件 1.6 或更高版本。
在此示例扫描中查看网络活动。
将构建数据与其他系统集成 #
新的导出 API 提供了一种机制,用于使用驱动构建扫描的原始构建数据。它是一个基于服务器发送事件 (SSE) 的 HTTP 接口,支持实时数据集成。大多数编程语言都有用于使用 SSE 流的库。
下面的视频演示了基于导出 API 构建的实时构建持续时间仪表板。此代码作为 GitHub 上的 gradle-enterprise-export-api-samples 存储库的一部分提供。
了解任务不可缓存的原因 #
Gradle 3.3 引入了构建缓存功能,该功能通过重用其他构建的任务输出而无需在您的机器上执行任务来节省您的时间。对于要使用构建缓存的给定任务,必须满足某些条件。Gradle Enterprise 现在指示哪些任务可缓存,哪些任务不可缓存。
为了让您有机会使更多任务可缓存并提高构建性能,您可以查看任务不可缓存的原因。“性能”部分的“设置和建议”选项卡现在指示是否存在不可缓存的任务。
在新的时间轴视图中,您可以搜索可缓存和不可缓存的任务,并查看单个任务不可缓存的原因。
此功能需要 Gradle 3.4 版本和构建扫描插件 1.6 或更高版本。
尝试使用此示例扫描。
更好地理解任务性能 #
Gradle 可以通过不重新执行不需要再次执行的任务来节省您的构建时间。例如,已是最新的任务,或者可以从构建缓存中提取输出的任务。
“性能”部分的“任务执行”选项卡总结了哪些任务已执行,哪些任务已避免。摘要使您了解当前构建的可缓存性如何,从而使您更容易通过调整任务使其可缓存来找到优化机会。您还可以从摘要单击到时间轴以查看特定类别中的所有任务。
尝试使用此示例扫描。
通过缺少标签查找构建 #
您可以使用一个或多个标签注释构建扫描,以轻松对构建进行分类。例如,指示哪些构建在您的持续集成服务器上执行。
以前您可以找到具有一个或多个特定标签的扫描,现在您也可以反过来 - 找到没有特定标签的扫描。为此,在搜索标签时使用 not:
前缀。例如,如果您使用“CI”标签标记所有持续集成构建,则可以通过搜索 not:CI
找到所有非 CI 构建。
有关如何以及何时使用标签的更多信息,请参阅这篇构建扫描中的自定义数据文章。
更快地查找构建 #
Gradle Enterprise 使您能够通过按项目名称、开始时间、结果等过滤构建来准确找到您需要的构建。在最新版本中,搜索构建扫描现在速度更快 - 尤其是在您搜索大量构建时。这使您可以更快地找到您正在查找的构建。
今天就试试吧! #
我们希望您和我们一样对这些出色的新功能感到兴奋。今天就联系我们进行试用!您还可以查看发行说明,了解还有哪些新功能。