开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
  1. Home
  2. Computer Science
  3. Gradle
  4. This article

Gradle 创建构建扫描

2020年04月01日 1019Browse 0Like 0Comments

构建扫描(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

Tags: None
Last updated:2020年04月01日

HoneyMoose

有温度的人文和独立的思考

Like
< Previous
Next >

Comments

Cancel reply

Archives
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,362)
    • Confluence (663)
    • Gradle (12)
  • U.S. (482)
  • 文化旅游 (145)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1