使用 Cloud de Confiance 控制台创建和管理自定义操作系统映像流水线

直接在Cloud de Confiance 控制台中配置并启动 Image Builder 流水线。 Cloud de Confiance 控制台提供了一个交互式界面,您可以在其中指定基本映像来源、输出目的地、自定义步骤和执行触发器。

准备工作

所需的角色

如需获得使用 Cloud de Confiance 控制台创建和管理映像自定义流水线所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

创建和管理流水线

在 Cloud de Confiance 控制台中,您可以创建新的自定义操作系统映像流水线、修改现有配置、复制现有流水线,或在不再需要流水线时将其删除。

创建流水线

如需使用 Cloud de Confiance 控制台创建自定义操作系统映像流水线,请完成以下步骤:

  1. 在 Cloud de Confiance 控制台中,前往映像页面。

    转到“映像”

  2. 点击 Image Builder 前往 Image Builder 首页。

  3. 在区域选择器中,选择您要在其中创建流水线的区域。

  4. 点击创建流水线

  5. 流水线设置部分,配置核心流水线详细信息:

    • 名称:为流水线输入一个唯一的名称。
    • 说明:(可选)输入流水线的说明。
    • 区域:为流水线选择 Cloud de Confiance 区域。 提供 Cloud Build 的每个区域都支持 Image Builder。
    • 服务账号:选择配置了所需 IAM 权限的服务服务账号,或创建新的服务账号。
    • 配置来源:选择以下方法之一,以指定自定义配置和脚本的存储位置:
      • 与代码库集成:选择此选项可从 Git 代码库检索自定义配方和脚本。由于代码库的 imagebuilder.yaml 文件定义了源基本映像、构建区、自定义步骤和目标映像设置,因此控制台会直接进入触发器。配置以下字段:
        • 代码库:选择已连接的代码库,或点击关联代码库以关联 GitHub、GitLab 或 Bitbucket 代码库。
        • 映像构建器配置的路径:输入代码库中自定义配方文件的相对路径,例如 imagebuilder.yaml
        • Cloud Storage 文件夹:点击浏览,选择用于上传流水线日志和 build 制品的 Cloud Storage 文件夹。
      • 将脚本存储在 Google Cloud Storage 中:选择此替代方案可在控制台界面中直接配置基础映像、目标映像详细信息和自定义步骤。控制台会将您的脚本保存到 Cloud Storage,并引导您完成整个分步向导。配置以下字段:
        • 自定义脚本文件夹:点击浏览,选择用于存储自定义脚本的 Cloud Storage 文件夹。
    • Artifact Registry:(可选)如果您想上传目标映像归档并生成加密的 SLSA build 出处证明,请从 Artifact Registry 代码库列表中选择一个通用代码库。如需了解详情,请参阅验证图片来源
  6. 点击下一步,根据您选择的配置来源继续前往其余配置面板:

    • 如果您选择“与代码库集成”

      代码库的 imagebuilder.yaml 配方定义了源基础映像、目标映像设置和自定义步骤。控制台会跳过手动输入,直接进入触发器:

      1. 触发器部分中,配置流水线的运行时间:
        • 按时间表运行:使用 cron 语法指定重复性时间表。
        • 根据代码库事件运行:在发生代码库事件(例如推送到分支推送新标记拉取请求)时自动触发构建,并指定分支或标记过滤模式。
      2. 点击下一步以继续转到摘要部分。
      3. 检查流水线配置,然后点击创建
    • 如果您选择了“将脚本存储在 Google Cloud Storage 中”

      1. 源映像详细信息部分,指定基本操作系统映像:
        • 使用映像系列:选择公共操作系统系列,例如 Container-Optimized OS 或 Ubuntu。流水线会自动为每个 build 选择相应系列中最新的未弃用映像。
        • 使用现有映像:选择特定的操作系统映像。
      2. 点击下一步,继续前往目标映像详情部分:
        • 为生成的自定义操作系统映像输入名称。
        • (可选)指定映像系列、说明、资源标签和客户管理的加密密钥 (CMEK)。
      3. 点击下一步,进入自定义部分:
        • 选择自定义操作以添加、修改或重新排序离散的自定义步骤,例如安装软件包或运行内嵌 shell 脚本。
        • 选择 Add YAML 以直接在 YAML 中编写或粘贴原始配方 steps
        • (可选)在高级配置下,选择要用于运行 build 作业的工作器和测试虚拟机的特定地区机器类型预留。不支持裸金属机器类型。您还可以在配方的 infrastructureConfig 中指定自定义 VPC 网络子网外部 IP 设置,例如 ephemeralnone
      4. 点击下一步,进入触发器部分:
        • 选择按计划运行以定义自动定期运行时间表,或保持未选中状态以进行手动执行。
      5. 点击下一步以继续转到摘要部分。
      6. 检查流水线配置,然后点击创建

创建流水线后:

  • 如果您未配置自动化触发器,可以手动运行流水线:在 Image Builder 流水线列表中,点击流水线旁边的 更多操作 > 运行
  • 如果您配置了按时间表运行按代码库事件运行,则当满足触发条件或时间表时,流水线会自动运行。

修改流水线

如需修改现有的 Image Builder 流水线,请完成以下步骤:

  1. 在 Cloud de Confiance 控制台中,前往映像页面。

    转到“映像”

  2. 点击 Image Builder 以查看流水线列表。

  3. 在要修改的流水线旁边,依次点击 更多操作 > 修改

  4. 根据需要更新流水线设置、配置来源、目标映像详细信息、自定义步骤或触发器设置。

  5. 点击保存

复制流水线

如需通过复制现有配置来创建新流水线,请完成以下步骤:

  1. 在 Cloud de Confiance 控制台中,前往映像页面。

    转到“映像”

  2. 点击 Image Builder 以查看流水线列表。

  3. 在要复制的流水线旁边,依次点击 更多操作 > 复制

  4. 在流水线创建表单中,查看从原始流水线复制的预填充参数。您可以修改流水线名称字段,以指定新的唯一名称。

  5. 根据需要更新任何流水线参数或设置。

  6. 点击创建

删除流水线

删除流水线后,Image Builder 会停止未来的自动运行,并永久移除流水线配置。删除流水线不会删除您之前创建的任何自定义操作系统映像、Artifact Registry 制品或 Cloud Storage 存储分区。

如需删除 Image Builder 流水线,请完成以下步骤:

  1. 在 Cloud de Confiance 控制台中,前往映像页面。

    转到“映像”

  2. 点击 Image Builder 以查看流水线列表。

  3. 在要删除的流水线旁边,依次点击 更多操作 > 删除

  4. 在确认对话框中,点击删除以永久移除流水线。

验证和监控 build

如需跟踪 build 流水线的进度,请完成以下步骤:

  1. 在 Cloud de Confiance 控制台中,前往 Cloud Build 页面。

    转至 Cloud Build

  2. 在导航菜单中,点击历史记录以查看有效或已完成的作业。

  3. 构建列表中,点击相应构建的构建 ID 以检查容器运行日志。日志会显示工作器虚拟机中执行的步骤(例如系统软件包更新或自定义 shell 命令)、测试虚拟机的验证测试结果以及最终输出注册。

后续步骤