高级部署模式

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

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

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

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

启用高级部署模式

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

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

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

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

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

部署管理器

对于启用了高级部署模式的项目,具有 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 将更改部署到生产环境。一个用于部署分支的 HEAD,另一个用于部署特定的 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,请参阅 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 自述文件,或使用 API Explorer。您可以从 Looker Marketplace 在 Looker 实例上安装 API Explorer。

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

部署分支的 HEAD<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 进行部署的代码如下所示:

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

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