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

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

准备工作

所需角色

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

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

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

创建和管理流水线

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

创建流水线

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

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

    转到“Google 图片”

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

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

  4. 点击创建流水线

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

    • 名称 :为流水线输入一个唯一的名称。
    • 说明 :(可选)输入流水线的说明。
    • 区域:为流水线选择 Google Cloud 区域。 Image Builder 在提供 Cloud Build 的每个 区域都受支持
    • 服务账号:选择配置了所需 IAM 权限的服务账号 , 或创建新的服务帐号。
    • 配置来源 :选择以下方法之一,以指定自定义配置和脚本的存储位置:
      • 与代码库集成 :选择此选项可从 Git 代码库检索自定义配方和脚本。由于代码库的 imagebuilder.yaml 文件定义了来源基础映像、构建区、自定义步骤和目标映像设置,因此控制台会直接进入触发器。配置以下字段:
        • 代码库 :选择已连接的代码库,或点击关联代码库 以连接 GitHub、GitLab 或 Bitbucket 代码库。
        • Image Builder 配置的路径 :输入代码库中自定义配方文件的相对路径,例如 imagebuilder.yaml
        • Cloud Storage 文件夹 :点击浏览 以选择将流水线日志和构建工件上传到的 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。流水线会自动为每次构建选择该系列中最新的未弃用映像。
        • 使用现有映像 :选择特定的操作系统映像。
      2. 点击下一步 ,进入目标映像详细信息 部分:
        • 输入生成的自定义操作系统映像的名称。
        • (可选)指定映像系列、说明、资源标签和客户管理的加密密钥 (CMEK)。
      3. 点击下一步 ,进入自定义 部分:
        • 选择自定义操作 以添加、修改或重新排序离散的自定义步骤,例如安装软件包或运行内嵌 Shell 脚本。
        • 选择 Add YAML 以直接在 YAML 中编写或粘贴原始配方 steps
        • (可选)在高级配置下,选择要用于运行构建作业的工作器虚拟机和测试虚拟机的 特定可用区机器类型预留。不支持裸金属机器类型。您还可以在 配方的 infrastructureConfig中指定自定义 VPC 网络子网外部 IP 设置,例如ephemeralnone
      4. 点击下一步 ,进入触发器 部分:
        • 选择按时间表运行 以定义自动重复性时间表,或取消选中以进行手动执行。
      5. 点击下一步 ,进入摘要 部分。
      6. 检查流水线配置,然后点击创建

创建流水线后,您可以执行以下操作:

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

修改流水线

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

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

    转到“Google 图片”

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

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

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

  5. 点击保存

复制流水线

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

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

    转到“Google 图片”

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

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

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

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

  6. 点击创建

删除流水线

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

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

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

    转到“Google 图片”

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

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

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

验证和监控构建

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

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

    转至 Cloud Build

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

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

后续步骤