Gradle 创建构建扫描

简介:

构建扫描(build scan)是一个中心化并且可以共享的构建记录。这个构建记录通常能够告诉在构建中发生了什么并且为什么会发生。

通过应用构建扫描插件到你的项目中,你可以将你的构建扫描发布到 https://scans.gradle.com 网站中,并且这个服务是免费的。

你将会创建什么

这个指南将会指导你有关构建扫描的特性而且这个不需要你对你现有的脚本进行任何修改。

同时你也将会学习到针对给定项目来扫描所有的构建。可选的方案是,你可以通过修改初始化脚本针对你所有项目来启用构建扫描。

你需要什么来进行创建
进入你自己的示例项目,或者你可以从 Gradle 上创建一个示例项目。
你的计算机应该需要连上互联网
访问你的电子邮件地址
大概需要 6 分钟
选择一个示例项目

Gradle 已经创建一个示例可用的 Java 项目,这样你可以用这个项目来示例项目扫描的能力,你如果你需要使用的话,你可以克隆或者下载这个项目。

这个项目的下载地址链接为:https://github.com/gradle/gradle-build-scan-quickstart

$ git clone https://github.com/gradle/gradle-build-scan-quickstart
Cloning into 'gradle-build-scan-quickstart'...
$ cd gradle-build-scan-quickstart

如果你希望使用你自己的项目的话,你可以跳过这个步骤。

自动应用构建扫描插件(build scan plugin)

从 Gradle 4.3 版本开始,你可以在你的项目中运行 Gradle 扫描,而不需要任何附加配置。

当你使用命令行选项  --scan 来对项目扫描进行发布的时候,Gradle 将会自动应用需要的插件。在将数据发布到网上之前,在命令行中将会提示要求你接受许可证和协议。

下面为命令行运行时候的系统输出。

$ ./gradlew build --scan

Task :compileJava
Task :processResources NO-SOURCE
Task :classes
Task :jar
Task :assemble
Task :compileTestJava
Task :processTestResources NO-SOURCE
Task :testClasses
Task :test
Task :check
Task :build

BUILD SUCCESSFUL
4 actionable tasks: 4 executed

Publishing a build scan to scans.gradle.com requires accepting the Gradle Terms of Service defined at https://gradle.com/terms-of-service. Do you accept these terms? [yes, no] yes

Gradle Terms of Service accepted.

Publishing build scan...
https://gradle.com/s/czajmbyg73t62

这种配置机制能够非常容易的创建临时性的一次性扫描而不需要你在你的构建文件中配置相关的插件。

如果你希望配置更加细力度的配置,你可以在你的构建文件中配置构建扫描插件或者在下面描述的初始化脚本中进行配置。

针对你项目的所有构建启用构建扫描

针对 Gradle 2.x-5.x 版本,你需要应用  com.gradle.build-scan 插件到你的根构建脚本中(build script)。

从 Gradle 6.0 版本开始,你需要应用 com.gradle.enterprise 插件到你的 settings 脚本中。

请参考  Gradle 构建扫描插件文档(Gradle Build Scan plugin docs)中的内容来如何将构建扫描插件应用到你的项目中。

接受许可证协议

为了能够将构建扫描的结果发布到 https://scans.gradle.com 中,你需要接受许可协议。

这个可以在命令行进行发布的时候进行一次性同意协议,你也可以将这个配置到你的 Gradle 构建文件中,这个配置需要配置在 settings.gradle 文件中。

有关的配置如下:

settings.gradle
gradleEnterprise {
buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'

termsOfServiceAgree = 'yes'
}
}

buildScan 代码块允许你配置这个插件。

在这里有 2 个参数你需要输入能够让你的构建自动接收许可协议。有关其他的可以用参数,请参考  Build Scans 用户指南(Build Scans User Manual)页面中的内容。

如果你在 settings.gradle 文件中直接配置上面配置的话,你可能会收到:

Could not find method gradleEnterprise() for arguments

错误。

这是因为你可能没有应用插件,你需要在你的 settings.gradle 中添加下面的插件:

plugins {

id "com.gradle.enterprise" version "3.2"

}
发布一个构建扫描

一个构建扫描在命令行中的工具是通过 --scan 命令进行发布的。

在运行  build 任务的时候,你可以选择添加 --scan 选项。当构建任务完成以后将会上传构建数据到  scans.gradle.com 网站上。

在最后,你将会看到已经创建的网站链接,你需要拷贝这个链接到浏览器上打开。

$ ./gradlew build --scan

BUILD SUCCESSFUL in 0s

Publishing build scan...
https://gradle.com/s/uniqueid
在线访问构建扫描

在你第一次访问提供的构建链接的时候,你需要被要求激活构建扫描。

在你的邮件系统中收到的构建扫描激活链接看起如下图:

按照电子邮件中提供的链接,你单击链接后,你就可以访问到为你创建的构建页面了:

你可以通过页面,访问到有关你这个构建的所有信息,包括有执行的时间,执行的任务,在每一个任务执行所需要的时间,有关测试的所有结果,使用的插件和需要的依赖。

以及包括有有关命令行的开花和其他的更多一些信息。

针对所有构建启用构建扫描(可选)

可选的,你可以通过修改 Gradle 的构建脚本将插件的许可证同意洗液添加到所有的构建中。

具体的修改方法,请参考 https://docs.gradle.com/enterprise/gradle-plugin/#many-projects 页面中的内容。

还有一些更多的构建能力可以添加到脚本中,例如在什么条件下发布构建扫描信息。

有关更多的详细内容,请参考 构建扫描用户手册(Build Scans User Manual)中的内容。

总结
在这个指南中,你可能已经学到了:
创建一个构建扫描
在线查看构建扫描的信息
针对所有构建创建一个初始化脚本来启用构建扫描
下一个步骤

有关更多的详细内容,请参考 构建扫描用户手册(Build Scans User Manual)中的内容。

帮助改善这个文档

有一些问题和建议?找到一些拼写错误或者错别字?

与其他所有 Gradle 指南一样,你可以通过创建一个 GitHub 的帮助来帮助我们进行改善。

请  添加一个问题(add an issue)或者为项目 gradle/guides 创建一个 pull request,开发小组将会对你提交的内容作出回应。

https://www.cwiki.us/display/GradleZH/Creating+Build+Scans

目录
相关文章
|
6月前
|
存储 缓存 Java
《Gradle构建脚本的基本结构和语法》
《Gradle构建脚本的基本结构和语法》
85 0
|
26天前
|
Java 测试技术 API
云效流水线构建gradle项目失败提示gradle版本过低如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
28 0
|
6月前
|
缓存 Java Maven
深入理解Gradle构建系统的工作原理
深入理解Gradle构建系统的工作原理
153 0
|
8月前
|
设计模式 Java Android开发
基于Gradle的Spring源码下载及构建技巧
首先你的JDK需要升级到1.8以上版本。从Spring 3.0开始,Spring源码采用GitHub托管,不再提供官网下载链接。这里不做过多赘述,大家可自行去GitHub网站下载,我使用的版本下载链接为 https://github.com/spring-projects/spring-framework/archive/v5.0.2.RELEASE.zip ,下载完成后,解压源码包会看到如下图所示的文件目录。
155 0
|
11月前
|
编解码 前端开发 Java
Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目02
Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目02
66 0
|
11月前
|
IDE 前端开发 Java
Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目01
Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目01
70 0
|
Java Android开发
Gradle学习基础(2):构建简单的JAVA项目
Gradle学习基础(2):构建简单的JAVA项目
|
Java API 容器
【Deprecated】Gradle | 进阶篇(Project & Task & 构建生命周期)
【Deprecated】Gradle | 进阶篇(Project & Task & 构建生命周期)
404 0
【Deprecated】Gradle | 进阶篇(Project & Task & 构建生命周期)
|
弹性计算 Java jenkins
Gradle从0入门到实战系列【十】集成Dockerfile构建Docker镜像
在工作中,我们会将SpringBoot程序打包成Docker镜像,这就需要在Gradle中配置Dockerfile构建程序,并且能将打包后的镜像部署并启动为一个容器,Gradle的插件能够帮我们完成这件事
898 0
Gradle从0入门到实战系列【十】集成Dockerfile构建Docker镜像