直接在Cloud de Confiance 控制台中配置并启动 Image Builder 流水线。 Cloud de Confiance 控制台提供了一个交互式界面,您可以在其中指定基本映像来源、输出目的地、自定义步骤和执行触发器。
准备工作
- 完成准备环境中的环境设置步骤。
- 如果您打算从 Git 代码库自动触发构建,请使用 Cloud Build 代码库 (
2nd gen) 或 Developer Connect 连接链接连接您的 GitHub、GitLab 或 Bitbucket 代码库。
所需的角色
如需获得使用 Cloud de Confiance 控制台创建和管理映像自定义流水线所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:
- Cloud Build Editor (
roles/cloudbuild.builds.editor) - Service Account User (
roles/iam.serviceAccountUser) - Compute Admin (
roles/compute.admin)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
创建和管理流水线
在 Cloud de Confiance 控制台中,您可以创建新的自定义操作系统映像流水线、修改现有配置、复制现有流水线,或在不再需要流水线时将其删除。
创建流水线
如需使用 Cloud de Confiance 控制台创建自定义操作系统映像流水线,请完成以下步骤:
在 Cloud de Confiance 控制台中,前往映像页面。
点击 Image Builder 前往 Image Builder 首页。
在区域选择器中,选择您要在其中创建流水线的区域。
点击创建流水线。
在流水线设置部分,配置核心流水线详细信息:
- 名称:为流水线输入一个唯一的名称。
- 说明:(可选)输入流水线的说明。
- 区域:为流水线选择 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 文件夹。
- 与代码库集成:选择此选项可从 Git 代码库检索自定义配方和脚本。由于代码库的
- Artifact Registry:(可选)如果您想上传目标映像归档并生成加密的 SLSA build 出处证明,请从 Artifact Registry 代码库列表中选择一个通用代码库。如需了解详情,请参阅验证图片来源。
点击下一步,根据您选择的配置来源继续前往其余配置面板:
如果您选择“与代码库集成”:
代码库的
imagebuilder.yaml配方定义了源基础映像、目标映像设置和自定义步骤。控制台会跳过手动输入,直接进入触发器:- 在触发器部分中,配置流水线的运行时间:
- 按时间表运行:使用 cron 语法指定重复性时间表。
- 根据代码库事件运行:在发生代码库事件(例如推送到分支、推送新标记或拉取请求)时自动触发构建,并指定分支或标记过滤模式。
- 点击下一步以继续转到摘要部分。
- 检查流水线配置,然后点击创建。
- 在触发器部分中,配置流水线的运行时间:
如果您选择了“将脚本存储在 Google Cloud Storage 中”:
- 在源映像详细信息部分,指定基本操作系统映像:
- 使用映像系列:选择公共操作系统系列,例如 Container-Optimized OS 或 Ubuntu。流水线会自动为每个 build 选择相应系列中最新的未弃用映像。
- 使用现有映像:选择特定的操作系统映像。
- 点击下一步,继续前往目标映像详情部分:
- 为生成的自定义操作系统映像输入名称。
- (可选)指定映像系列、说明、资源标签和客户管理的加密密钥 (CMEK)。
- 点击下一步,进入自定义部分:
- 选择自定义操作以添加、修改或重新排序离散的自定义步骤,例如安装软件包或运行内嵌 shell 脚本。
- 选择 Add YAML 以直接在 YAML 中编写或粘贴原始配方
steps。 - (可选)在高级配置下,选择要用于运行 build 作业的工作器和测试虚拟机的特定地区、机器类型或预留。不支持裸金属机器类型。您还可以在配方的
infrastructureConfig中指定自定义 VPC 网络、子网或外部 IP 设置,例如ephemeral或none。
- 点击下一步,进入触发器部分:
- 选择按计划运行以定义自动定期运行时间表,或保持未选中状态以进行手动执行。
- 点击下一步以继续转到摘要部分。
- 检查流水线配置,然后点击创建。
- 在源映像详细信息部分,指定基本操作系统映像:
创建流水线后:
- 如果您未配置自动化触发器,可以手动运行流水线:在 Image Builder 流水线列表中,点击流水线旁边的 更多操作 > 运行。
- 如果您配置了按时间表运行或按代码库事件运行,则当满足触发条件或时间表时,流水线会自动运行。
修改流水线
如需修改现有的 Image Builder 流水线,请完成以下步骤:
在 Cloud de Confiance 控制台中,前往映像页面。
点击 Image Builder 以查看流水线列表。
在要修改的流水线旁边,依次点击 更多操作 > 修改。
根据需要更新流水线设置、配置来源、目标映像详细信息、自定义步骤或触发器设置。
点击保存。
复制流水线
如需通过复制现有配置来创建新流水线,请完成以下步骤:
在 Cloud de Confiance 控制台中,前往映像页面。
点击 Image Builder 以查看流水线列表。
在要复制的流水线旁边,依次点击 更多操作 > 复制。
在流水线创建表单中,查看从原始流水线复制的预填充参数。您可以修改流水线名称字段,以指定新的唯一名称。
根据需要更新任何流水线参数或设置。
点击创建。
删除流水线
删除流水线后,Image Builder 会停止未来的自动运行,并永久移除流水线配置。删除流水线不会删除您之前创建的任何自定义操作系统映像、Artifact Registry 制品或 Cloud Storage 存储分区。
如需删除 Image Builder 流水线,请完成以下步骤:
在 Cloud de Confiance 控制台中,前往映像页面。
点击 Image Builder 以查看流水线列表。
在要删除的流水线旁边,依次点击 更多操作 > 删除。
在确认对话框中,点击删除以永久移除流水线。
验证和监控 build
如需跟踪 build 流水线的进度,请完成以下步骤:
在 Cloud de Confiance 控制台中,前往 Cloud Build 页面。
在导航菜单中,点击历史记录以查看有效或已完成的作业。
在构建列表中,点击相应构建的构建 ID 以检查容器运行日志。日志会显示工作器虚拟机中执行的步骤(例如系统软件包更新或自定义 shell 命令)、测试虚拟机的验证测试结果以及最终输出注册。
后续步骤
- 了解如何在自定义配方架构中定义自定义配方。
- 如果您想使用配置文件以编程方式配置和运行流水线,请参阅使用 gcloud CLI 或 Terraform 创建自定义操作系统映像流水线。
- 验证图片来源。