设置和测试 Git 连接

创建新项目时,新项目仅会在开发模式下存在,以便您在不影响其他用户的安全环境中开发模型。准备好发布项目后,下一步是配置 Git 连接。

通过为项目配置 Git 连接,您可以将 LookML 部署到生产模式,该模式允许其他用户探索数据模型、构建信息中心并将 LookML 添加到模型中。如需加快设置,请使用裸代码库。如需实现更强大的 Git 集成,请创建自己的 Git 代码库,并按照本页面中的说明将其连接到您的 Looker 实例。

将 Looker 与 Git 集成

Looker 使用 Git 记录更改和管理文件版本。每个 LookML 项目都对应一个 Git 代码库,而且每当用户处于开发模式时,该用户都会使用自己的 Git 分支。Git 代码库通常称为代码库。

对于 LookML 源文件管理,可以使用任何使用 SSH 密钥或 HTTPS 进行身份验证的 Git 提供商来配置 Looker。无论使用哪种平台,常规步骤都是相同的。本页面介绍了如何在创建 Git 代码库后将 GitHub 项目关联到 GitHub。

如需访问 Git 集成选项,您必须开启开发模式

您可以使用以下协议之一配置 Git 集成:

  • HTTPS:超文本传输安全协议。使用 HTTPS 时,Looker 会使用您提供的用户名和密码(或访问令牌)访问您的 Git 代码库,如下面的使用 HTTPS 连接到 Git 中所述。
  • SSH:Secure Shell。使用 SSH 时,Looker 会使用您通过 Git 提供商的网站生成的部署密钥访问您的 Git 代码库,如下面的使用 SSH 连接到 Git 中所述。

使用 HTTPS 连接到 Git

GitHub 不接受在 github.com 上对 Git 操作进行身份验证的帐号密码。如需了解详情,请参阅 GitHub 的博文。如需使用 HTTPS 将 Looker 项目连接到 GitHub,请使用 GitHub 中的开发者设置创建个人访问令牌。对于使用 HTTPS 连接到 GitHub 的现有 Looker 项目,请使用 GitHub 中的个人访问令牌重置您的 Git 连接

对于使用 HTTPS 身份验证配置的 LookML 项目,Looker 会使用您通过 Git 提供商设置的一个或多个用户帐号连接到您的 Git 提供方。Looker 使用用户名和密码(或访问令牌)登录您的 Git 提供方并代表您的 LookML 开发者执行 Git 操作。

如果您的 Git 帐号使用双重身份验证,您可以前往 Git 提供方并创建访问令牌(而非密码)。请转到此社区主题,查看为常见 Git 提供方创建个人访问令牌的说明。

借助 HTTPS 身份验证,您可以将 LookML 项目配置为整个项目使用一个 Git 帐号,也可以将项目配置为使用开发者的个人 Git 帐号来执行 Git 操作。

单一帐号 HTTPS 身份验证

如果您使用单个 Git 帐号设置您的 LookML 项目,Looker 将使用该 Git 帐号登录您的 Git 提供商,并代表开发者提交更改。Looker 使用开发者的 Looker 用户名进行提交,以便您可以分辨每位开发者是何时提交的。您可以在 Git 提供商的界面上查看项目的提交历史记录,也可以从 Looker IDE 的 Git 菜单中选择历史记录选项。如需详细了解 Looker 中的 Git 菜单,请参阅在 Looker 中执行 Git 命令

对于单帐号 HTTPS 身份验证,您指定的 Git 用户帐号必须具有 Git 代码库的读写权限。您的 LookML 开发者本身不需要拥有自己的 Git 用户帐号。

使用用户属性进行多帐号 HTTPS 身份验证

如果您使用多个帐号设置 LookML 项目,您的 LookML 项目将使用每个 Looker 开发者的个人 Git 帐号来执行 Git 操作。您还需要配置一个通用 Git 用户帐号(至少具有读取权限),以便 Looker 使用此文件拉取正式版应用。

使用用户属性进行 Git 身份验证需要执行以下任务和要求:

  • 每位 LookML 开发者都必须拥有自己的 Git 提供方的用户帐号。每个 Git 用户帐号必须具有项目代码库的读写权限。
  • 您的 Looker 管理员必须使用与 Git 用户名和 Git 密码对应的用户属性来设置 Looker 用户帐号(如果 Git 用户帐号采用双重身份验证,则还需要设置访问令牌)。
  • Git 帐号密码(或访问令牌)的用户属性必须隐藏。创建密码或访问令牌属性时,选择 Hide Values 选项下方的 Yes,然后在 Domain Allowlist 字段中输入 Git 提供商网址。
  • 必须为每个 Looker 开发者填写 Git 名称和密码(或访问令牌)的用户属性。用户属性可由 Looker 管理员Looker 用户配置。

以下是用户属性管理页面的示例,其中 Looker 管理员为 Git 用户名和用户访问令牌设置了用户属性:

下面是一个 Looker 用户的帐号页面示例,在该页面中用户已将其 Git 凭据输入到其用户属性字段中:

配置 HTTPS Git 身份验证

如需使用 HTTPS Git 身份验证配置 LookML 项目,请执行以下操作:

  1. 获取 Git 代码库的 HTTPS 网址。对于 GitHub,对于新代码库(尚未包含任何文件的代码库),GitHub 会在初始设置中显示该网址。请务必点击 HTTPS 按钮以获取 HTTPS 网址,然后点击“复制”按钮将其复制到剪贴板:

    对于现有的 GitHub 代码库(已包含文件的代码库),您可以通过转到代码库的代码标签页并点击代码按钮来查看 HTTPS 网址。请务必点击 HTTPS 链接。您可点击剪贴板图标以复制到剪贴板:

  2. 导航到您的 LookML 项目,点击导航栏中的设置图标,然后向下滚动到配置 Git 部分(对于新项目)或重置 Git 连接部分(对于之前已连接到 Git 的现有项目):

    重置 Git 连接将保留 Git 分支的 Git 历史记录。它还会保留每个 Looker 开发者在分支、合并和部署后其个人分支的历史记录。如需保留所有分支的历史记录,请参阅帮助中心内的迁移到新的 Git 代码库一文。

  3. 在 Looker 的 Configure Git(配置 Git)部分,将 Git 代码库的 HTTPS 网址粘贴到 Repository 网址(代码库网址)字段,然后点击 Continue(继续)。

    Looker 会检测您的 Git 提供程序,并使用您的 Git 代码库的相关信息更新窗口:

    如果 Looker 未能成功检测到您的 Git 提供商,它会要求您从下拉菜单中选择。

  4. 选择您的 Git 登录选项:

  5. 用户名密码/个人访问令牌字段中,输入您的 LookML 项目将用于访问 Git 的凭据。无论您的 Git 登录设置为何,都必须执行此操作:

    • 如果您选择了使用固定的用户名和密码/个人访问令牌组合,则这是您的 Looker 实例将对所有 Git 操作使用的 Git 用户名和密码(或访问令牌)。此 Git 用户帐号必须具有您的 Git 代码库的读写权限。
    • 如果您选择了使用用户属性作为用户名/密码/个人访问令牌,这就是您的 Looker 实例在拉取代码库的正式版本时使用的 Git 用户名和密码(或访问令牌)。此 Git 用户帐号必须至少对您的 Git 代码库拥有读取权限。

    如果您的 Git 帐号使用双重身份验证,或者如果您使用的是 GitHub(需要个人访问令牌而不是密码),那么您可以访问 Git 提供商并创建访问令牌(而非密码)。请转到此社区主题,查看为常见 Git 提供方创建个人访问令牌的说明。

  6. 如果您选择了使用用户属性作为用户名/密码/个人访问令牌,系统就会显示用户属性设置。使用下拉菜单为个别开发者的 Git 凭据选择用户属性

    (Looker 用户可以在帐号页面上修改其用户属性字段的值,而 Looker 管理员可以在用户管理页面上修改用户的用户属性值)。

  7. 点击继续设置

现在,您的 LookML 项目已配置 Git。在这里,您可以验证您的 LookML,然后创建初始提交内容并将其部署到生产环境中,从而在生产模式下使用您的项目。您还可以:

使用 SSH 连接到 Git

借助 SSH 身份验证,您可以为 Git 提供方创建部署密钥。Looker 生成 SSH 密钥对并在界面中显示公钥,如下面的第 4 步所示。Looker 使用该部署密钥代表 Git 提供方登录 Git 提供方以提交更改。Looker 使用开发者的 Looker 用户名进行提交,以便您可以分辨每位开发者是何时进行提交。您可以在 Git 提供商的界面上查看项目的提交历史记录,也可以从 Looker IDE 的 Git 菜单中选择历史记录选项。如需详细了解 Looker 中的 Git 菜单,请参阅在 Looker 中执行 Git 命令

如需使用 SSH Git 身份验证配置 LookML 项目,请执行以下操作:

  1. 打开您的项目并在项目设置面板中选择配置以查看项目配置。然后,执行以下操作之一:

    • 对于新项目,请在项目配置部分选择配置 Git (Configure Git) 按钮。
    • 如需更改现有项目的 Git 设置,请在项目配置部分选择 Reset Git Connection(重置 Git 连接)。

    重置 Git 连接将保留 Git 分支的 Git 历史记录。它还会保留每个 Looker 开发者在分支、合并和部署后其个人分支的历史记录。如需保留所有分支的历史记录,请参阅帮助中心内的迁移到新的 Git 代码库一文。

  2. 获取 Git 代码库的 SSH 网址。以下是常见 Git 提供方的格式:

    • GitHub:git@github.com:<organization-name>/<repository-name>.git
    • GitHub Enterprise:git@example.com:<organization-name>/<repository-name>.git
    • Cloud Source Repositoriesssh://username@example.com@source.developers.google.com:2022/p/<project-id>/r/<repository-name>
    • GitLab:git@gitlab.com:<organization-name>/<repository-name>.git
    • Bitbucketgit@bitbucket.org:<organization-name>/<repository-name>.git
    • Phabricatorssh://username@example.com/diffusion/MYCALLSIGN/<repository-name>.git

    对于 GitHub,对于新代码库(尚未包含任何文件的代码库),GitHub 会在初始设置中显示 SSH 网址。请务必点击 SSH 按钮以获取 SSH 网址,然后点击剪贴板图标将其复制到剪贴板:

    对于现有的 GitHub 代码库(已包含文件的代码库),您可以通过转到代码库的代码标签页并点击代码按钮来查看 SSH 网址。请务必点击使用 SSH 链接。您可点击剪贴板图标以复制到剪贴板:

  3. 在 Looker 的 Configure Git(配置 Git)部分,将 Git 代码库的 SSH 网址粘贴到 Repository 网址(代码库网址)字段,然后点击 Continue(继续)。

    将包含自定义或非标准 Git 端口的网址与 Looker 搭配使用,只需将非标准端口号添加到 Git 网址即可。例如: ssh://git@corporate.git.server.com:22/myorganization/myproject.git
    您必须添加 ssh:// 才能使其正常运行。

  4. Looker 会检测你的 Git 提供方并显示代码库的部署密钥。(如果 Looker 未成功检测到您的 Git 提供商,它会要求您从下拉菜单中选择。)选择整个部署密钥并将其复制到剪贴板,然后点击为您的代码库部署密钥设置链接,即可打开 GitHub 代码库的 GitHub 部署密钥页面。

  5. 在 GitHub 部署密钥页面中,点击添加部署密钥按钮:

    GitHub 会显示 Deploy keys / Add new(部署密钥/新增)页面:

  6. 为部署密钥添加标题。名称并不重要,但您可能需要添加“Looker”和您的项目标题,以便日后对其进行跟踪。

  7. 粘贴您从 Looker 复制的部署密钥。

  8. 选择允许写入权限选项。
    这是非常重要的一步,因为 Looker 需要此设置才能对您的 LookML 模型进行更改和部署

  9. 点击添加键按钮。此时(您的 Git 提供商可能会提示您输入密码)。如果有,请输入您的密码,然后点击确认密码。)

  10. GitHub 将显示已为您的代码库添加的所有部署密钥。

  11. 返回 Looker 窗口,然后点击 Configure Git(配置 Git)部分中的 Test and finalize Setup(测试并完成设置)。如果您的 Git 设置存在问题,您将会看到如下错误:

在这里,您可以重新尝试设置部署密钥,也可以点击跳过测试并完成设置以保留当前设置。

现在,您的 LookML 项目已配置 Git。在这里,您可以验证您的 LookML,然后创建初始提交内容并将其部署到生产环境中,从而在生产模式下使用您的项目。您还可以:

配置裸 Git 代码库

如果您尚未创建远程 Git 代码库,或者只是想快速完成设置以让他人能从您的 LookML 受益,则可以配置裸 Git 代码库。配置裸 Git 代码库会在 Looker 实例上创建本地 Git 代码库,而不是连接到远程代码库。

如需使用裸 Git 代码库配置 LookML 项目,请执行以下操作:

  1. 打开您的项目并在项目设置面板中选择配置以查看项目配置。然后,执行以下操作之一:

    • 对于新项目,请在项目配置部分选择配置 Git (Configure Git) 按钮。
    • 如需更改现有项目的 Git 设置,请在项目配置部分选择 Reset Git Connection(重置 Git 连接)。

    重置 Git 连接将保留 Git 分支的 Git 历史记录。系统还会在拉取和合并然后部署各个 Looker 开发者分支后,保留其个人分支的历史记录。如需保留所有分支的历史记录,请参阅帮助中心内的迁移到新的 Git 代码库一文。

  2. 在 Looker 的配置 Git 对话框中,点击改为设置裸代码库

  3. Configure Bare Git Repository 对话框中,点击 Create Repository

    创建 Git 代码库后,Looker 会显示一个对话框,显示新 Git 代码库的路径:

现在,您的 LookML 项目已配置 Git。在这里,您可以验证您的 LookML,然后创建初始提交内容并将其部署到生产环境中,从而在生产模式下使用您的项目。您还可以:

将新的 LookML 项目连接到非空 Git 代码库

配置 Git 以进行版本控制是创建新的 LookML 项目的关键步骤。通常,每个项目都应有自己的代码库。不过,在以下情况下,您可能需要使用包含现有 LookML 的 Git 代码库来配置项目:

  • 在实例之间移动现有的 LookML 项目时
  • 当您从已损坏或不再存在的 LookML 项目中恢复代码以便在新项目中使用时

本部分介绍了使用现有的非空 Git 代码库配置新 LookML 项目的最佳做法,以便进一步开发 LookML。

此工作流仅适用于您拥有写入权限的代码库。

  1. 选择 Blank Project 作为起点来创建新的 LookML 项目。空白项目是起点,因为它将填充来自现有代码库的 LookML 对象,而不是填充来自数据库架构或 SQL 查询。
  2. Configure Git(配置 Git)部分,使用 Repository 网址(代码库网址)部分的非空项目的网址,通过 HTTPSSSH 为您的项目配置 Git。
  3. 为项目配置 Git 后,请从 Git Actions 面板拉取生产环境
  4. 从生产环境中拉取日志后,请选择部署到生产环境

您对项目中的 LookML 所做的更改不会影响原始代码库;相反,这些更改将保存在代码库的本地版本中。

如果有公共代码库要用作空白 LookML 项目的基础,但您没有该代码库的写入权限,请按照创建新的 LookML 项目文档页面的克隆公共 Git 代码库部分中所述的说明进行操作。

如果您要将一个代码库用于多个实例并设置一个 Git 工作流,请参阅社区主题:在多个实例中使用同一个代码库(开发、预演和生产)的 Git 工作流

测试您的 Git 连接

Looker 提供 Git 连接测试,用于验证您的 Git 连接。Git 连接测试会验证您是否设置了正确的 Git 网址,以及是否可以通过 Looker 访问 Git 主机。Git 连接测试还会验证您是否提供了有效的 Git 部署密钥,以及部署密钥是否拥有 Git 代码库的写入权限。

如果 Looker 无法连接到您的 Git 代码库,您将看到测试 Git 连接按钮:

您还可以通过在 Git 操作面板中选择 Test Git Connection(访问 Git 连接)来访问 Git 连接测试工具:

然后,Git connection 测试工具会显示测试 Git 连接所采取的步骤。以下是一个成功测试的示例:

在此示例中,Git 代码库没有为 Looker 连接配置部署密钥: