为集成构建 CICD


本教程介绍如何使用配置变量预览版)自动提升不同 Google Cloud 项目中不同环境之间的集成。

概览

在本教程中,您将使用示例集成的 config 变量自动执行 Application Integration 部署。此集成流程示例会调用 API,并将 API 的响应发布到 Pub/Sub 主题。此示例旨在说明调用 REST 端点连接器任务的用法。您可以将示例集成存储在与不同的环境和 Google Cloud 项目对应的 GitHub 代码库中。

目标

本教程介绍了如何在集成中完成以下任务:

  • 创建集成。
  • 创建配置变量,并在集成中使用这些变量。
  • 将集成推广到其他环境。

费用

在本教程中,您将使用 Google Cloud 的以下收费组件:

本教程中的说明旨在将您的资源使用量保持在 Google Cloud 免费云端功能和试用优惠的限制范围内。

完成本文档中描述的任务后,您可以通过删除所创建的资源来避免继续计费。如需了解详情,请参阅清理

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. Enable the Secret Manager API, Connectors API APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Pub/Sub Publisher (roles/pubsub.publisher) role to the service account.

      To grant the role, find the Select a role list, then select Pub/Sub Publisher (roles/pubsub.publisher).

    6. Click Continue.
    7. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. 确保您的 Google Cloud 项目已启用结算功能

  8. Enable the Secret Manager API, Connectors API APIs.

    Enable the APIs

  9. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Pub/Sub Publisher (roles/pubsub.publisher) role to the service account.

      To grant the role, find the Select a role list, then select Pub/Sub Publisher (roles/pubsub.publisher).

    6. Click Continue.
    7. Click Done to finish creating the service account.

创建 Pub/Sub 主题

  1. 在 Google Cloud 控制台中,转到 Pub/Sub 主题页面。

    转到“主题”

  2. 点击创建主题

  3. 主题 ID 字段中,输入主题 ID。 如需详细了解如何命名主题,请参阅主题、订阅、架构或快照命名指南

  4. 保留添加默认订阅选项。

  5. 请勿选择其他选项。

  6. 点击创建主题

配置 Pub/Sub 连接器

  1. Google Cloud 控制台中,前往 Integration Connectors > 连接页面,然后选择或创建一个 Google Cloud 项目。

    转到“连接”页面

  2. 点击 + 新建以打开创建连接页面。
  3. 位置部分中,选择连接的位置。
    1. 区域:从下拉列表中选择一个位置。

      如需查看所有受支持区域的列表,请参阅位置

    2. 点击下一步
  4. 连接详情部分中,完成以下操作:
    1. 连接器:从可用连接器的下拉列表中选择 Pub/Sub
    2. 连接器版本:从可用版本的下拉列表中选择一个连接器版本。
    3. Connection Name 字段中,输入 pub-sub-connector
    4. 服务账号:选择具有所需角色的服务账号。
    5. 项目 ID:Pub/Sub 实例所在的 Google Cloud 项目的 ID。
    6. 主题 ID:输入您的 Pub/Sub 主题的名称。
    7. 点击下一步
  5. 身份验证部分中,点击下一步
  6. 查看:查看您的连接和身份验证详细信息。
  7. 点击创建

创建新的集成

设置 Application Integration 后,您可以创建新的集成:

  1. 在 Google Cloud 控制台中,前往 Application Integration 页面。

    转到 Application Integration

  2. 在导航菜单中,点击集成。系统随即会显示集成页面。
  3. 点击 创建集成,然后在创建集成页面中提供以下详细信息:
    1. 集成名称:输入集成的名称。例如 build-cicd
    2. 说明:(可选)输入集成说明。例如 Demo integration created for CICD tutorial
    3. 区域:从已预配区域列表中选择区域 us-central1。如果您要选择的区域未预配,请参阅预配新区域。如需查看受支持区域的列表,请参阅 Application Integration 位置
    4. 服务账号:如果您为区域启用了治理功能,则系统会显示此字段。 选择要用于集成的服务账号。如需了解如何为您的区域启用治理功能,请参阅修改区域
    5. 点击创建。系统随即会打开集成编辑器页面,您可以在其中添加tasks触发器以构建集成。

创建集成流程

添加 API 触发器和“调用 REST 端点”

如需添加 API 触发器触发器,请执行以下步骤:
  1. 在 Google Cloud 控制台中,前往 Application Integration 页面。

    转到 Application Integration

  2. 在导航菜单中,点击集成

    系统随即会显示 Integrations List(集成列表)页面,其中列出了 Google Cloud 项目中可用的所有集成。

  3. 选择 build-cicd 集成。

    这将在集成编辑器中打开集成。

  4. 集成编辑器导航栏中,依次点击触发器 > API 触发器以添加触发器。
  5. 集成编辑器导航栏中,依次点击任务 > 调用 REST 端点以添加任务。
  6. API 触发器元素中的边缘连接 调用 REST 端点元素:将鼠标悬停在 API 触发器元素上的某个控制点上,然后 点击一条线并将其拖动到 Call REST Endpoint 任务元素上的控制点。

创建配置变量

如需创建配置变量,请按以下步骤操作:
  1. 在集成编辑器导航栏中,点击 (切换面板)以显示变量窗格。
  2. 点击 +创建
  3. 创建变量窗格中执行以下操作:
    1. 对于名称,输入 url

      Application Integration 会向配置变量添加 `CONFIG_ 前缀。如果您要使用 API 将配置变量添加到集成中,请对配置变量使用以下格式:`CONFIG_CONFIG_VARIABLE_NAME`。如需了解如何下载和上传集成,请参阅上传和下载集成

    2. 变量类型选择配置变量
    3. 数据类型中,选择字符串
    4. 点击创建

      配置变量会显示在变量窗格中。

  4. 重复第 2 步和第 3 步,添加以下配置变量:
    • 名称connection_name
    • 变量类型Config Variable
    • 数据类型String

添加并配置“调用 REST 端点”

如需创建配置变量,请按以下步骤操作:
  1. 集成编辑器中,点击调用 REST 端点任务以打开任务配置窗格。然后,执行以下操作:
    1. 展开任务输入部分。
    2. 端点基准网址中,点击变量,然后添加 $`CONFIG_url`$

添加和配置连接器任务

  1. 集成编辑器导航栏中,依次点击任务 > 连接器
  2. 点击配置连接器
  3. 区域列表中,选择您创建 Pub/Sub 连接器的区域。
  4. 连接字段中,选择您在上一步中创建的 Pub/Sub 连接器
  5. 类型部分,选择操作
  6. 设置实体/操作部分,针对操作,选择 publishMessage
  7. 默认值中,为配置变量添加默认值。
  8. 点击创建
  9. 连接器任务配置窗格中,展开连接详情部分,以更新以下字段:
    1. 连接名称字段中,点击变量,然后选择 $`CONFIG_connection_name`$

添加数据映射任务

  1. 集成编辑器导航栏中,依次点击任务 > 数据映射
  2. 调用 REST 端点元素中的边缘连接添加到 数据映射元素:将鼠标悬停在调用 REST 端点元素上的某个控制点上,然后 点击线条并将其拖动到 Data Mapping 任务元素上的控制点。
  3. 如需添加从数据映射元素到连接器元素的另一个边缘连接,请将控制点悬停在数据映射元素上,然后点击线条并将其拖动到连接器任务元素上的控制点。
  4. 在数据映射任务配置窗格中,点击打开数据映射编辑器
  5. 将“调用 REST 端点”任务的输出变量映射到“连接器”任务的输入变量。

发布集成

如需发布集成,请按以下步骤操作:
  1. 要发布集成,请点击集成编辑器工具栏中的发布

    此时将显示发布集成对话框。

  2. 发布集成对话框中,输入以下配置变量的值:
    1. url:输入端点网址的名称。
    2. connection_name:输入您在上一步中创建的 Pub/Sub 连接器的名称。
  3. 点击发布
  4. 成功发布集成后,您可以查看和检查已发布集成的执行日志。如需查看日志,请点击集成编辑器工具栏中的日志

促进跨环境集成

如需跨环境推广集成,您可以使用 integrationcli 工具。这是一个开源工具,可让您与 Application Integration APIIntegration Connectors API 进行交互。借助此工具,您可以管理集成、身份验证配置等集成实体。如需了解如何为集成生成框架并应用框架生成的更改,请参阅社区博客中的 integrationcli 简介

您还可以通过设置 DevOps 流水线(例如使用 Jenkins、GitLab、Cloud Build 等工具)来跨环境推送更改。如需了解详情,请参阅与 Cloud Build 集成

如果您不想使用 integrationcli,可以手动下载并将集成上传到新项目。您必须在新项目中手动创建连接器,因为这些连接器目前无法下载。在新环境中发布集成时,Application Integration 可让您输入配置变量的值。

后续步骤