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