持续集成内容验证器

持续集成 (CI) 内容验证器可识别存在错误的信息中心和外观。通常,这些错误是由于缺少对 LookML 字段的引用而导致的。

CI 内容验证器执行的验证与标准 Looker 内容验证器执行的验证类似,但存在一些差异:

  • CI 内容验证器支持以下内容:

    • 您可以将 CI 内容验证器配置为在 Looker 开发者向您的 LookML 代码库提交拉取请求时自动运行,也可以在您手动运行 CI 套件时手动运行。
    • 您可以将 CI 内容验证器结果的范围限定为特定的 Looker 内容文件夹,或者限定为 LookML 项目中的特定模型和探索。默认情况下,持续集成内容验证器的结果会自动限定为您的 LookML 项目。CI 内容验证器的范围是后处理:验证器会在整个 Looker 实例上运行,然后将结果过滤到您在创建 CI 套件时指定的范围。
  • 标准 Looker 内容验证器支持以下内容:

    • 您只能手动运行 Looker 内容验证器。
    • 您可以将 Looker 内容验证器的范围限定为特定的 Looker 内容文件夹或特定的 LookML 项目。Looker 内容验证器的范围限定会在验证之前进行:验证器只会在您发起内容验证时指定的文件夹和项目上运行。
    • 您可以使用 Looker 内容验证器替换字段、视图、探索和模型的名称移除字段以及删除 Look

如需详细了解您在创建或修改 CI 套件时可以配置的选项,请参阅本页的内容验证器选项部分。如需了解如何运行内容验证器,请参阅运行持续集成套件文档页面。

运行结果页面上,内容验证器会为每个出现错误的主题或信息中心提供错误消息,以及指向相应内容的链接:

显示内容验证器发现结果的持续集成结果页面

内容验证器选项

您可以在创建持续集成套件时指定多个选项,以配置内容验证程序的运行方式。本页的以下部分介绍了这些选项:

要查询的探索

默认情况下,内容验证器会对 LookML 项目中的所有模型和探索运行内容验证。

您可以使用要查询的探索字段指定要包含在内容验证中的探索和模型。

您可以按以下格式指定探索:model_name/explore_name

例如,如需在 thelook.model.lkml 文件中指定名为 usersorders 的探索,您需要输入以下内容:thelook/users, thelook/orders

如需详细了解如何在此字段中指定 Explore 和模型,以及相关示例,请参阅 SQL 验证器文档页面。

要排除的探索

默认情况下,内容验证器会对 LookML 项目中的所有模型和探索运行内容验证。

您可以使用要排除的探索字段指定要从内容验证中排除的探索和模型。

您可以按以下格式指定探索:model_name/explore_name

如需详细了解如何在此字段中指定 Explore 和模型,以及相关示例,请参阅 SQL 验证器文档页面。

要验证的文件夹

您可以通过指定文件夹 ID 或以英文逗号分隔的文件夹 ID 列表,将内容验证范围限定在 Looker 实例上的特定内容文件夹。

如需获取文件夹的 ID,请使用 Looker 主导航菜单打开文件夹,然后从浏览器网址中获取文件夹 ID。文件夹 ID 是网址的最后一个元素。例如,在以下网址中,文件夹 ID 为 45

https://myinstance.looker.com/folders/45

要排除的文件夹

您可以在要排除的文件夹字段中指定文件夹 ID 或以英文逗号分隔的文件夹 ID 列表,以便将特定内容文件夹从内容验证中排除。

排除个人空间中的内容

如果您希望内容验证器仅验证共享文件夹中的内容,请启用排除个人空间中的内容字段。启用排除个人空间中的内容字段后,内容验证器会忽略 Looker 实例中个人文件夹中的内容。

增量验证

增量验证是一种用于查找特定开发分支特有的错误(即正式版中不存在的错误)的方法。增量验证可帮助开发者查找并修复其负责的错误,而不会被项目中的现有错误分心,还可以加快验证速度,对于包含许多探索的 LookML 项目而言,这一点尤为重要。

在验证器结果中,内容验证器会指明因其在被验证的分支或提交中的已编译 SQL 没有任何更改而被跳过的每个探索。如需查看增量验证结果示例,请参阅查看增量验证结果

在创建或修改持续集成套件时,您可以通过在内容验证器部分中选中仅显示增量错误复选框,为内容验证器启用增量验证。

请注意增量验证的以下事项:

  • 当内容验证器在验证生产分支本身时(例如在生产分支上手动运行),增量验证设置不适用。验证正式版分支时,内容验证器会显示完整的结果验证。

内容验证的局限性

如果您删除某个模型或更改其名称,内容验证器将不会返回这些“悬空”内容错误,因为该模型无法再与正在测试的项目相关联。