高级部署模式

通过默认的 Looker Git 集成,Looker 开发者会将更改提交到开发分支,然后将开发分支合并到生产分支。然后,当您部署到 Looker 环境时,Looker 会在生产分支上使用最新提交内容。(有关默认 Git 工作流和高级 Git 实现的其他选项,请参阅使用版本控制和部署文档页面。)

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

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

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

启用高级部署模式

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

  1. 从图标菜单中选择设置图标,进入项目设置页面的配置标签页。
  2. 部署部分下,选中启用高级部署模式旁边的复选框。
  3. 选择 Save Project Configuration 按钮以保存更改。

使用高级部署模式实现版本控制

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

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

Deployment Manager

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

您可以选择图标菜单中的部署图标来访问 Deployment Manager。

Deployment Manager 会显示之前使用高级部署模式部署的所有提交内容和标记。

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

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

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

通过 Deployment Manager 部署提交

您可以通过多种方式从 Deployment Manager 部署提交内容:

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

如果您选择之前尚未部署的提交内容,Deployment Manager 将显示部署提交菜单。如需从部署提交菜单中部署提交,请按以下步骤操作:

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

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

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

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

使用 webhook 进行部署

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

如需设置部署网络钩子,您必须先在项目设置页面中为您的 Looker 项目添加网络钩子密钥。这是为了确保只有授权方才能触发部署 webhook。

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

用于部署分支标头的 webhook 采用以下格式:

<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/标记的信息。以下示例 webhook 用于在 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 并查看相关示例,请参阅如何向 API 进行身份验证 GitHub 自述文件,或使用 API Explorer。您可以通过 Looker Marketplace 在 Looker 实例上安装 API Explorer。

在 HTTPS 请求中使用以下示例,通过 deploy_ref_to_production API 端点部署分支的头或特定的提交 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>})