webhook 部署端点会提示 Looker 实例从 Git 分支、提交 SHA 或标记名称部署更改,然后将更改推送到项目的生产版本。对于大多数项目,Looker 会处理 Git 集成并将更新部署到生产环境,因此你无需设置部署网络钩子。
但是,在以下任一情况下,您都需要使用部署网络钩子将更改推送到生产环境:
- 您将更新推送到 Looker IDE 之外的远程生产分支,这在具有预演环境的开发工作流中很常见。
- 您想要使用网络钩子进行部署,以便使用高级部署模式,在该模式下,您可以指定分支、提交 SHA 或正式版 Looker 项目的标记名称。
- 您使用 Git 拉取请求配置了 Looker 项目,这意味着,您在合并拉取请求后必须触发部署网络钩子,才能将这些更改推送到 Looker 生产环境。如果您将 webhook 添加到 Git 提供商的界面,则大多数 Git 托管服务都有自动执行此操作的方法。
如果您是 Looker 管理员,则可以将部署网络钩子配置为需要使用 Secret,以便只有授权方才能触发它。
不是管理员的 Looker 开发者可以查看项目设置页面,但无法更改其中的选项。
添加部署 Secret
如需为您的项目设置网络钩子部署密钥,请执行以下操作:
- 在开发模式下,打开项目,然后选择 IDE 导航栏中的设置图标,打开项目设置面板。
- 在项目设置面板中选择配置。
- 向下滚动到 Webhook Deploy Secret 部分,然后点击设置网络钩子 Secret。Looker 将自动生成 Secret 令牌。您可以使用自动生成的密钥,也可以输入自己的密钥令牌。
- 无论您是使用自动生成的 Secret 还是自行创建 Secret,都需要复制 webhook 部署 Secret 并将其粘贴到文本文件中,以便在需要将 Secret 添加到代码库的 webhook 时时使用。因此,请务必在此时复制数据。离开或刷新项目设置页面后,您将失去网络钩子部署密钥的访问权限。您必须更改或移除网络钩子部署密钥,才能重新获得对您的项目的访问权限。
- 点击保存项目配置。
项目的部署网络钩子现在需要此 Secret。对于使用 Looker 预演实例的项目,您需要在 HTTP 标头中添加 webhook 部署密钥,才能将其部署到生产环境。对于具有 Git 拉取请求集成的项目,您需要转到 Git 提供商的界面,将密钥添加到代码库的网络钩子。
为 Git 代码库的网络钩子配置 Secret
对于具有 Git 拉取请求集成的项目,如果您已向 LookML 项目添加部署网络钩子密钥,则需要前往 Git 提供商的界面,将该密钥添加到代码库的网络钩子。举例来说,您可以使用 GitHub 执行以下操作:
转到 Git 提供商网站上的项目代码库设置。
提示:如果您已设置项目以进行 Git 集成,则可以使用 Looker 中项目的 Git 菜单中的在 Git 上查看项目选项。
在代码库的设置中,点击网络钩子。
找到 LookML 项目的 webhook,然后点击其 Edit 按钮。
在密钥文本框中,粘贴从 Looker 的网络钩子部署密钥部分复制的网络钩子部署密钥。
点击更新网络钩子。
现在,只有部署了网络钩子密钥,才能将更改部署到项目的正式版。如有需要,您可以更改密钥或从项目中移除密钥。
更改部署 Secret
将 webhook 部署密钥添加到您的项目后,如果您是 Looker 管理员,可以执行以下操作来更改 Secret:
- 在项目中,从导航栏中选择设置图标。
- 向下滚动到 Webhook Deploy Secret 部分,然后点击重置 Secret。Looker 会自动生成新的 Secret 令牌。您可以使用自动生成的密钥,也可以输入自己的新密钥令牌。
- 无论您是使用自动生成的 Secret 还是自行创建 Secret,都可以复制 webhook 部署 Secret 并将其粘贴到文本文件中,以便在需要将 Secret 添加到代码库的网络钩子时获得。请务必从剪贴板复制数据。离开或刷新项目设置页面后,您将失去网络钩子部署密钥的访问权限,必须返回并更改或完全移除该密钥。
- 点击保存项目配置。
如果您的项目配置了 Git 拉取请求集成,您还需要转到 Git 提供商的界面以更新代码库的网络钩子密钥。
移除部署 Secret
将 webhook 部署密钥添加到您的项目后,如果您是 Looker 管理员,则可以通过执行以下操作移除该密钥:
- 在项目中,从导航栏中选择设置图标。
- 向下滚动到网络钩子部署密钥部分,然后点击移除密钥。此时,您可以点击 Don't remove 以取消操作并保留部署密钥。
- 如需从项目中永久移除网络钩子部署密钥,请点击保存项目配置。
您的项目不再需要部署网络钩子的 Secret。如果您的项目配置了 Git 拉取请求集成,您现在可以转到 Git 提供商的界面,从代码库中移除网络钩子密钥。Looker 本身将不再检查 Git 提供商端的 Secret,因此如果您的 Git 代码库网络钩子仍然配置了 Secret,这也不会造成任何不利影响。如果您确实要从 Git 代码库中移除 Secret,请参阅为 Git 代码库的网络钩子配置 Secret,了解有关在 Git 提供商的界面中修改 Secret 的信息。