高级部署模式

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

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

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

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

启用高级部署模式

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

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

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

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

您可以使用网络钩子API部署管理器将更改部署到生产环境。

部署管理器

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

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

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

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

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

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

从部署管理器部署提交内容

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

  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 将更改部署到生产环境。一个 webhook 用于部署分支的头部,另一个 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

如需使用 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>})