配置 webhook 部署密钥

webhook 部署端点会提示您的 Looker 实例部署来自 Git 分支、提交 SHA 或标记名称的更改,然后将更改推送到项目的正式版。(如需了解 Looker 部署网络钩子格式,请参阅使用网络钩子部署部分。)对于大多数项目,Looker 会处理 Git 集成并将更新部署到生产环境,因此您无需设置部署 webhook。

但是,如果出现以下任一情况,您确实需要使用部署 webhook 将更改推送到生产环境:

  • 您可以将更新推送到 Looker IDE 之外的远程生产分支,这在预演环境的开发工作流中很常见。
  • 您希望在采用高级部署模式的情况下使用 webhook 进行部署,该模式可让您指定分支、提交 SHA 或用于 Looker 项目生产版本的标记名称。
  • 您已使用 Git 拉取请求配置 Looker 项目,这意味着您在合并拉取请求后必须触发部署网络钩子,才能将这些更改推送到 Looker 生产环境。如果您将 webhook 添加到 Git 提供商的界面,大多数 Git 托管服务都可以自动执行此过程。

如果您是 Looker 管理员,则可以将部署 webhook 配置为需要 Secret,以便只有已获授权的方才能触发它。非管理员的 Looker 开发者可以查看项目设置页面,但无法更改该页面的选项。

添加部署密钥

Looker 支持为以下 Git 提供商使用 Web Secret:GitHub、Bitbucket Server 和 GitLab。

如需为您的项目设置 webhook 部署密钥,请执行以下操作:

  1. 开发模式下,打开您的项目,然后选择 IDE 导航栏中的设置图标以打开项目设置面板。
  2. 在项目设置面板中选择 Configuration
  3. 滚动到 Webhook Deploy Secret(网络钩子部署密钥)部分,然后点击 Set Webhook Secret(设置 Webhook 密钥)。Looker 会自动生成一个密钥令牌。您可以使用此自动生成的密钥,也可以输入自己的密钥令牌。
  4. 无论您是使用自动生成的 Secret 还是创建自己的 Secret,都请复制 webhook 部署 Secret 并将其粘贴到文本文件,以便在需要时将 Secret 添加到代码库的 webhook 中。请务必在此时复制该密钥。离开或刷新项目设置页面后,您将无法再访问 webhook 部署密钥,并且必须更改移除 webhook 部署密钥才能重新获得项目访问权限。
  5. 点击 Save Project Configuration

项目的部署 webhook 现在需要此密钥。对于使用 Looker 预演实例的项目,您需要在 HTTP 标头中添加 webhook 部署密钥才能部署到生产环境。对于支持 Git 拉取请求集成的项目,您需要转到 Git 提供商的界面,将密钥添加到代码库的网络钩子中

为 Git 代码库的网络钩子配置 Secret

对于支持 Git 拉取请求集成的项目,如果您已向 LookML 项目添加部署 webhook 密钥,则需要转到 Git 提供商的界面以将该密钥添加到代码库的 webhook 中。以下示例展示了如何使用 GitHub 执行此操作:

  1. 在 Git 提供商的网站上,转到项目的代码库设置。

    提示:如果您已为项目设置 Git 集成,则可以在 Looker 中使用项目 Git 菜单中的查看项目 (View Project on Git) 选项。

  2. 在代码库的设置中,点击 Webhooks

  3. 找到 LookML 项目的网络钩子,然后点击其修改按钮。

  4. Secret 字段中,粘贴您从 Looker 的 Webhook Deploy Secret 部分复制的 webhook 部署密钥。

  5. 点击更新 webhook

现在,为了将更改部署到项目的生产版本,必须提供 webhook 密钥。如果需要,您可以更改 Secret从项目中移除 Secret

更改部署密钥

将 webhook 部署密钥添加到您的项目后,如果您是 Looker 管理员,则可以执行以下操作来更改密钥:

  1. 在您的项目中,从导航栏中选择设置图标。
  2. 滚动到 Webhook Deploy Secret(网络钩子部署密钥)部分,然后点击 Reset Secret(重置 Secret)。Looker 会自动生成新的密钥令牌。您可以使用此自动生成的密钥,也可以输入自己的新密钥令牌。
  3. 无论您是使用自动生成的 Secret 还是创建自己的 Secret,都请复制 webhook 部署 Secret 并将其粘贴到文本文件中,以便在需要时将 Secret 添加到代码库的 webhook 中。此时请务必从剪贴板复制该密钥。离开或刷新“项目设置”页面后,您将无法再访问 webhook 部署密钥,并且必须返回并更改此密钥或将其完全移除
  4. 点击 Save Project Configuration

如果您的项目配置了 Git 拉取请求集成,您还需要转到 Git 提供商的界面以更新代码库的网络钩子密钥

移除部署密钥

将 webhook 部署密钥添加到您的项目后,如果您是 Looker 管理员,则可以执行以下操作移除 Secret:

  1. 在您的项目中,从导航栏中选择设置图标。
  2. 滚动到 Webhook Deploy Secret(网络钩子部署 Secret)部分,然后点击 Remove Secret(移除 Secret)。此时,您可以点击不移除来取消操作并保留部署密钥。
  3. 如需从项目中永久移除 webhook 部署密钥,请点击保存项目配置

您的项目不再需要用于部署 webhook 的 Secret。如果您的项目配置了 Git 拉取请求集成,那么您现在可以转到 Git 提供方的界面,从代码库中移除网络钩子密钥。Looker 本身将不再检查 Git 提供商端的 Secret,因此,如果您的 Git 代码库 webhook 仍然配置了 Secret,则也不会有任何影响。如果您确实要从 Git 代码库中移除 Secret,请参阅为 Git 代码库的 Webhook 配置 Secret,了解如何在 Git 提供商的界面中修改 Secret。