【工欲善其事必先利其器·构建工具】Gradle使用教程·创建构建扫描
构建扫描是构建的可共享且集中的记录,它展示了构建关于发生了什么以及为什么发生的详细。通过将构建扫描插件集成到您的项目中,您可以免费将构建扫描发布到https://scans.gradle.com 网站。
通过指南您可以
本指南向您展示了如何在不修改任何构建脚本的情况下发布构建扫描。您还将学习如何修改构建脚本,以支持对给定项目的所有构建进行构建扫描。您还可以修改init脚本,以支持对所有项目进行构建扫描。
学习指南您需要
1. 您需要选择自己的样本项目,也可以使用Gradle提供的样本项目;
2. 可以访问互联网;
3. 可以访问您的邮箱;
4. 大约6分钟时间;
选择一个简单的样板项目
Gradle提供了一个简单的Java项目,您可以使用它来演示构建扫描功能。如果您希望使用它,请从仓库克隆或下载。
$ git clone https://github.com/gradle/gradle-build-scan-quickstart
Cloning into 'gradle-build-scan-quickstart'...
$ cd gradle-build-scan-quickstart
如果您更喜欢使用自己的项目,可以跳过这一步。
自动应用(集成)构建扫描插件
从Gradle 4.3开始,您可以启用构建扫描,而无需在构建脚本中进行任何额外的配置。当使用命令行选项--scan来发布构建扫描时,所需的构建扫描插件将自动应用。在构建结束之前,要求您在命令行上接受许可协议。下面的控制台输出演示了该行为。
$ ./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
这种机制使得生成特别的、一次性的构建扫描非常容易,而不必在构建中配置构建扫描插件。如果需要更细粒度的配置,可以在构建或init脚本中配置build scan插件,如下面的部分所述。
在项目的所有构建上启用构建扫描
使用Gradle 2. x ~5.x版本时,您需要应用(集成)com.gradle.scan插件到您的根构建脚本中。对于6.0以上版本,您需要应用(集成)com.gradle.enterprise插件到您的设置脚本中。
关于如何应用(集成)构建扫描插件到您的项目,请参考 Gradle构建扫描相关文档(后续逐步翻译)。
接受许可证协议
为了将构建扫描发布到 https://scans.gradle.com ,您需要接受许可协议。这可以通过发布时的命令行来完成,但也可以在Gradle构建文件中指定,添加以下部分:
settings.gradle
gradleEnterprise {
buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
termsOfServiceAgree = 'yes'
}
}
settings.gradle.kts
gradleEnterprise {
buildScan {
termsOfServiceUrl = "https://gradle.com/terms-of-service"
termsOfServiceAgree = "yes"
}
}
buildScan模块允许您配置插件。这里设置了接受许可协议所必需的两个属性。还有其他可用的属性。有关详细信息,请参见构建扫描用户手册。
发布构建扫描
您可以通过命令行配置项 --scan来发布构建扫描。例如使用 --scan配置项来运行一个构建任务,当构建完成时,它会上传构建数据到 https://scans.gradle.com,您可以通过构建后输出的链接来查看您的构建扫描。
$ ./gradlew build --scan
BUILD SUCCESSFUL in 0s
Publishing build scan...
https://gradle.com/s/uniqueid
在线访问构建扫描
第一次点击链接,您将被征求去**这个构建扫描,邮箱就是用来接收**构建扫描的,看上去像下面的截图一样:
点击收到的邮箱中的链接,您可以看到以下被创建的构建扫描:
现在可以查看构建扫描中包含的所有信息,包括执行任务所需的时间、构建的每个阶段所需的时间、任何测试的结果、使用的插件和其他依赖项、使用的任何命令行开关等等。
为所有构建启用构建扫描(可选)
通过使用Gradle init脚本,您可以避免在每个构建版本中添加插件和许可协议。
您也可以向脚本添加其他功能,比如在什么条件下发布扫描信息。相关详细信息,请参见 构建扫描用户手册。
总结
在本指南您学会了:
1. 生成一个构建扫描;
2. 在线查看构建扫描信息;
3. 创建一个init 脚本去让所有项目启用构建扫描;
下一步
探索更多信息您可以查询 构建扫描用户手册。