Ansible Builder 版本 3 移植指南

本节讨论 ansible-builder 版本 1.2 和版本 3.0 之间的行为变化。

我们建议您阅读此页面以及 ansible-builder 3.0 发行说明,以了解您可能需要进行哪些更新。

概述

Ansible Builder 3.x 执行环境定义文件接受七个顶级部分

  • additional_build_files

  • additional_build_steps

  • build_arg_defaults

  • dependencies

  • images

  • options

  • version

移植选项

您需要将旧版 (v1 和 v2) 执行环境文件中的配置 YAML 密钥更改为此处列出的密钥。

additional_build_files

这是一个新的配置,可用于指定要添加到构建上下文目录的文件。然后,这些文件可以在任何构建阶段由 additional_build_steps 引用或复制。

有关更多详细信息,请参见 additional_build_files 部分。

additional_build_steps

使用 Ansible Builder 3,您可以为任何构建阶段指定更细粒度的构建步骤或自定义命令。这些命令将直接插入容器运行时的构建指令文件(例如,ContainerfileDockerfile)。这些命令必须符合容器化工具所需的任何规则。

这些是其他构建步骤 -

  • prepend_base

  • append_base

  • prepend_galaxy

  • append_galaxy

  • prepend_builder

  • append_builder

  • prepend_final

  • append_final

有关更多详细信息,请参见 additional_build_steps 部分。

dependencies

指定要安装到最终镜像中的依赖项,包括 ansible-coreansible-runner、Python 包、系统包和 Ansible 集合。Ansible Builder 会自动安装您安装的任何 Ansible 集合的依赖项。

通常,您可以使用标准语法来约束包版本。使用您传递给 dnfpipansible-galaxy 或任何其他包管理实用程序的语法。您还可以分别在文件中定义您的包或集合,并在执行环境定义文件的 dependencies 部分中引用这些文件。

此部分的有效键为

  • ansible_core

  • ansible_runner

  • galaxy

  • python

  • python_interpreter

  • system

有关更多详细信息,请参见 dependencies 部分。

images

指定要使用的基础镜像。至少,您*必须*为基础镜像指定源、镜像和标签。基础镜像提供操作系统,并且还可以提供一些包。我们建议使用标准 host/namespace/container:tag 语法来指定镜像。

有关更多详细信息,请参见 images 部分。

镜像验证

如果您使用的是 podman 容器运行时,则可以验证已签名的容器镜像。

有关更多详细信息,请参见 镜像验证 部分。

options

一个关键字/选项字典,可以影响构建器运行时功能。此部分的有效键为

  • container_init

  • cmd

  • entrypoint

  • package_pip

  • package_manager_path

  • skip_ansible_check

  • relax_passwd_permissions

  • workdir

  • user

  • tags

有关更多详细信息,请参见 options 部分。

version

如果您使用的是 Ansible Builder 3.x,则必须为 3

有关更多详细信息,请参见 version 部分。