高级部署模式

借助默认的 Looker Git 集成,Looker 开发者可将其更改提交到开发分支,然后将开发分支合并到生产分支。然后,当您部署到 Looker 环境时,Looker 会使用生产分支上的最新提交。(如需了解默认 Git 工作流以及其他高级 Git 实现方案,请参阅使用版本控制和部署文档页面。)

对于高级 Git 实现,如果您不希望将生产分支上的最新提交用于 Looker 环境,Looker 管理员可以启用高级部署模式。启用后,高级部署模式允许具有 deploy 权限的开发者指定其他提交 SHA 或标记来部署到 Looker 生产环境,而不是使用生产分支上的最新提交。如果您想部署其他分支中的提交,可以使用高级部署模式 webhookAPI 端点

高级部署模式有助于在多环境开发者工作流程中整合代码库,其中每个环境都指向不同版本的代码库。此外,它还让一位或多位开发者或管理员能够更好地控制部署到生产环境的更改。

启用高级部署模式后,Looker 不会提示开发者将其更改部署到生产环境。Looker 会提示开发者将其更改合并到生产分支中。之后,只能通过以下方式部署更改:

启用高级部署模式

如需启用高级部署模式,请执行以下操作:

  1. 在 Looker IDE 中,依次选择图标菜单中的设置图标和配置标签页,前往项目配置页面。
  2. 项目配置页面上,选择部署部分下启用高级部署模式旁边的复选框。
  3. 选择保存项目配置按钮以保存更改。

使用高级部署模式进行版本控制

启用高级部署模式后,开发者将无法再选择从 Looker 部署到生产环境。相反,当开发者进行提交时,Git 按钮会提示他们将更改合并到主分支,而不是提示他们部署到生产环境。

使用 webhookAPIDeployment Manager 将更改部署到生产环境。

部署管理器

对于启用了高级部署模式的项目,拥有 deploy 权限的 Looker 开发者可以使用部署管理器将提交或标记部署到其 Looker 生产环境中。

您可以从图标菜单中选择部署图标,以访问部署管理器。

部署管理器会显示之前使用高级部署模式部署的所有提交和标记。

如果您尚未使用高级部署模式来部署提交,请点击选择提交按钮,查看提交历史记录,其中包含 Looker 开发者已合并到生产分支的提交。

对于已使用高级部署模式部署提交的项目,提交历史记录还会显示提交的相关联标记(如果有),并指明哪个提交是当前用于生产的版本。

如果生产分支的提交比已部署的提交更新,部署管理器会显示此信息,并显示 Looker 开发者已合并到生产分支的最新提交。

通过部署管理器部署提交

您可以通过多种方式从部署管理器部署提交:

  1. 如需部署尚未部署的提交,请点击选择提交按钮,从已合并到远程生产分支的所有提交中进行选择。(如果您想部署其他分支中的提交,请使用高级部署模式 WebhookAPI 端点。)
  2. 如需部署远程生产分支上最近合并的提交,请点击部署最新版本按钮。
  3. 如需部署之前已部署过的提交或标记,请在部署管理器中点击其三点状选项菜单 ,然后点击部署到生产环境

如果您选择之前未部署过的提交,部署管理器将显示部署提交菜单。如需从部署提交菜单中部署提交,请按以下步骤操作:

  1. 如需部署提交内容而不为其分配标记,请选择部署但不添加标记,然后选择部署到环境。否则,请保持选中标记并部署选项。
  2. 为提交指定标记。Git 标记用于标记代码库历史记录中提交的重要性,例如发布版本号或版本名称。请注意以下有关 Git 标记的事项:

    • Git 标记在 Git 代码库中必须是唯一的。您不能在代码库中为两个不同的提交使用相同的标记。
    • Git 标记不得包含空格或某些特殊字符。如需了解 Git 中引用命名的规则,请参阅 Git 参考文档。
  3. 您可以选择为标记添加说明,以提供有关提交的更多详细信息。

  4. 选择部署到环境,将提交部署到 Looker 实例的生产版本。

部署提交后,部署管理器会将该提交标记为 Looker 生产环境中的当前版本。

使用 Webhook 进行部署

对于采用高级部署模式的项目,您可以使用部署 webhook 将更改部署到生产环境。

如需设置部署 Webhook,您必须先从项目配置页面为 Looker 项目添加 Webhook 密钥。添加 webhook 密钥可确保只有获得授权的相关方才能触发部署 webhook。

在启用高级部署模式的情况下,您可以使用两个 webhook 将更改部署到生产环境。一个 Webhook 用于部署分支的 Head,另一个用于部署特定的 Git SHA 或标记。

用于部署分支的 Head 的网络钩子采用以下格式:

<Looker URL>/webhooks/projects/<LookML project name>/deploy/branch/<Git branch name>

用于部署提交 SHA 或标记的 Webhook 采用以下格式:

<Looker URL>/webhooks/projects/<LookML project name>/deploy/ref/<commit SHA or tag>

将尖括号 < > 中的信息替换为与您的实例地址、LookML 项目和分支名称或提交 SHA/标记相关的信息。以下是一个网络钩子示例,用于在 docsexamples.dev.looker.com Looker 实例上为 e_faa 项目部署 v1.0 代码名称:

https://docsexamples.dev.looker.com/webhooks/projects/e_faa/deploy/ref/v1.0

使用 API 进行部署

对于采用高级部署模式的项目,您可以使用 Looker API 将更改部署到生产环境。

如需使用 API 进行部署,发出调用的 API 用户需要拥有 deploy 权限。如需详细了解如何进行身份验证以及如何使用 Looker API,请参阅 Looker API 身份验证开始使用 API 文档页面。

如需使用 API 进行部署,请使用 deploy_ref_to_production 端点。此端点可通过多种不同方式调用。以下示例适用于 HTTPSSDK 方法。

HTTPS

如需使用 deploy_ref_to_production API 端点手动部署,请参阅以下使用 HTTPS 方法的示例。如需详细了解如何使用 C网址 请求手动调用 API,请参阅 How to Authenticate to the API GitHub README,或使用 API Explorer。您可以从 Looker Marketplace 在 Looker 实例上安装 API Explorer。

在 HTTPS 请求中使用以下示例,通过 deploy_ref_to_production API 端点部署分支的 Head 或特定提交 SHA/标记:

部署分支的头部<HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>

部署提交 SHA 或标记<HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

或者,您也可以使用 Looker 的 SDK,而不是手动向 API 发出请求。SDK 会处理身份验证、参数和响应序列化以及其他相关事宜的详细信息。

使用 SDK 方法通过 deploy_ref_to_production 进行部署,如下所示:

部署分支的头部deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})

部署提交 SHA 或标记deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})