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 部署密钥,请执行以下操作:
- 在开发模式下,打开您的项目,然后选择 IDE 导航栏中的设置图标以打开项目设置面板。
- 在项目设置面板中选择 Configuration。
- 滚动到 Webhook Deploy Secret(网络钩子部署密钥)部分,然后点击 Set Webhook Secret(设置 Webhook 密钥)。Looker 会自动生成一个密钥令牌。您可以使用此自动生成的密钥,也可以输入自己的密钥令牌。
- 无论您是使用自动生成的 Secret 还是创建自己的 Secret,都请复制 webhook 部署 Secret 并将其粘贴到文本文件,以便在需要时将 Secret 添加到代码库的 webhook 中。请务必在此时复制该密钥。离开或刷新项目设置页面后,您将无法再访问 webhook 部署密钥,并且必须更改或移除 webhook 部署密钥才能重新获得项目访问权限。
- 点击 Save Project Configuration。
项目的部署 webhook 现在需要此密钥。对于使用 Looker 预演实例的项目,您需要在 HTTP 标头中添加 webhook 部署密钥才能部署到生产环境。对于支持 Git 拉取请求集成的项目,您需要转到 Git 提供商的界面,将密钥添加到代码库的网络钩子中。
为 Git 代码库的网络钩子配置 Secret
对于支持 Git 拉取请求集成的项目,如果您已向 LookML 项目添加部署 webhook 密钥,则需要转到 Git 提供商的界面以将该密钥添加到代码库的 webhook 中。以下示例展示了如何使用 GitHub 执行此操作:
在 Git 提供商的网站上,转到项目的代码库设置。
提示:如果您已为项目设置 Git 集成,则可以在 Looker 中使用项目 Git 菜单中的查看项目 (View Project on Git) 选项。
在代码库的设置中,点击 Webhooks。
找到 LookML 项目的网络钩子,然后点击其修改按钮。
在 Secret 字段中,粘贴您从 Looker 的 Webhook Deploy Secret 部分复制的 webhook 部署密钥。
点击更新 webhook。
现在,为了将更改部署到项目的生产版本,必须提供 webhook 密钥。如果需要,您可以更改 Secret 或从项目中移除 Secret。
更改部署密钥
将 webhook 部署密钥添加到您的项目后,如果您是 Looker 管理员,则可以执行以下操作来更改密钥:
- 在您的项目中,从导航栏中选择设置图标。
- 滚动到 Webhook Deploy Secret(网络钩子部署密钥)部分,然后点击 Reset Secret(重置 Secret)。Looker 会自动生成新的密钥令牌。您可以使用此自动生成的密钥,也可以输入自己的新密钥令牌。
- 无论您是使用自动生成的 Secret 还是创建自己的 Secret,都请复制 webhook 部署 Secret 并将其粘贴到文本文件中,以便在需要时将 Secret 添加到代码库的 webhook 中。此时请务必从剪贴板复制该密钥。离开或刷新“项目设置”页面后,您将无法再访问 webhook 部署密钥,并且必须返回并更改此密钥或将其完全移除。
- 点击 Save Project Configuration。
如果您的项目配置了 Git 拉取请求集成,您还需要转到 Git 提供商的界面以更新代码库的网络钩子密钥。
移除部署密钥
将 webhook 部署密钥添加到您的项目后,如果您是 Looker 管理员,则可以执行以下操作移除 Secret:
- 在您的项目中,从导航栏中选择设置图标。
- 滚动到 Webhook Deploy Secret(网络钩子部署 Secret)部分,然后点击 Remove Secret(移除 Secret)。此时,您可以点击不移除来取消操作并保留部署密钥。
- 如需从项目中永久移除 webhook 部署密钥,请点击保存项目配置。
您的项目不再需要用于部署 webhook 的 Secret。如果您的项目配置了 Git 拉取请求集成,那么您现在可以转到 Git 提供方的界面,从代码库中移除网络钩子密钥。Looker 本身将不再检查 Git 提供商端的 Secret,因此,如果您的 Git 代码库 webhook 仍然配置了 Secret,则也不会有任何影响。如果您确实要从 Git 代码库中移除 Secret,请参阅为 Git 代码库的 Webhook 配置 Secret,了解如何在 Git 提供商的界面中修改 Secret。