高级部署模式

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

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

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

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

启用高级部署模式

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

  1. 转到项目设置页面的配置标签页,方法是从左侧的图标菜单中选择设置图标。
  2. Deployment 部分下,选中 Enable Advanced Deploy Mode 旁边的复选框。
  3. 选择保存项目配置按钮以保存更改。

具有高级部署模式的版本控制

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

更改是使用网络钩子API部署管理器部署到生产环境的。

Deployment Manager

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

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

如本页上的从 Deployment Manager 部署提交内容部分所述,您可以在部署或不添加标记的情况下部署提交内容。如果您部署带有标记的提交,则 Deployment Manager 会显示标记 SHA,这与提交 SHA 不同。您可以使用 Looker 项目的提交历史记录来查看与标记关联的提交 SHA。否则,如果您部署不带标记的提交,部署管理器将显示提交 SHA,这与 Git 提供方界面或 Looker 项目的提交历史记录中显示的提交 SHA 相同。

如果您尚未使用高级部署模式部署提交内容,请选择选择提交内容按钮,以查看 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 实例的生产版本。

部署提交内容后, Deployment Manager 会在 Looker 生产环境中将提交内容标记为当前版本。

使用网络钩子进行部署

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

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

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

部署分支头的网络钩子使用以下格式:

<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

使用以下示例时,请务必将尖括号 < > 中的信息替换为您的实例地址、LookML 项目、分支名称、SHA 或标记的相关信息。

如需使用 deploy_ref_to_production API 端点进行手动部署,请参阅以下示例,这些示例使用 HTTPS 方法。如需了解详情以及使用 C网址 请求手动调用 API 的示例,请参阅如何向 API 进行身份验证 GitHub 自述文件,或使用 API Explorer。您可以从 Looker Marketplace 在您的 Looker 实例上安装 API Explorer,也可以在 Looker 的开发者门户中查看公开版本。

在 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

使用以下示例时,请务必将尖括号 < > 中的信息替换为您的 LookML 项目特有的信息以及分支名称、SHA 或标记。

或者,使用 Looker 的其中一个 SDK,而无需手动向 API 发出请求。SDK 会处理身份验证、参数和响应序列化的细节以及其他问题。

使用 deploy_ref_to_production 和 SDK 方法进行部署如下所示:

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

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