为集成构建 CICD


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

概览

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

目标

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

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

费用

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

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

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

准备工作

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  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. Make sure that billing is enabled for your Google Cloud project.

  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 可让您输入配置变量的值。

后续步骤