2.3. 构建定义文件
安装 Ansible Builder 后,您可以创建一个定义文件,Ansible Builder 用来创建自动化执行环境镜像。Ansible Builder 通过读取和验证定义文件来创建自动化执行环境镜像,然后创建一个 Containerfile
,最后将 Containerfile
传递给 Podman,然后打包并创建自动化执行环境镜像。您创建的定义文件必须采用 yaml
格式,并包含不同的部分。默认定义文件名(如果未提供)是 execution-environment.yml
。有关定义文件的部分的更多信息,请参阅 定义文件内容的明细。
以下是版本 3 定义文件的示例。每个定义文件必须指定其使用的 Ansible Builder 功能集的主版本号。如果没有指定,Ansible Builder 默认为版本 1,使大多数新功能和定义关键字不可用。
例 2.1. 定义文件示例
version: 3 build_arg_defaults: 1 ANSIBLE_GALAXY_CLI_COLLECTION_OPTS: '--pre' dependencies: 2 galaxy: requirements.yml python: - six - psutil system: bindep.txt images: 3 base_image: name: registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel9:latest # Custom package manager path for the RHEL based images options: 4 package_manager_path: /usr/bin/microdnf additional_build_steps: 5 prepend_base: - RUN echo This is a prepend base command! prepend_galaxy: # Environment variables used for Galaxy client configurations - ENV ANSIBLE_GALAXY_SERVER_LIST=automation_hub - ENV ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_URL=https://console.redhat.com/api/automation-hub/content/xxxxxxx-synclist/ - ENV ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_AUTH_URL=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token # define a custom build arg env passthru - we still also have to pass # `--build-arg ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_TOKEN` to get it to pick it up from the env - ARG ANSIBLE_GALAXY_SERVER_AUTOMATION_HUB_TOKEN prepend_final: | RUN whoami RUN cat /etc/os-release append_final: - RUN echo This is a post-install command! - RUN ls -la /etc
其他资源
- 如需有关定义文件内容的更多信息,请参阅定义文件内容的明细。
- 要了解更多有关 Ansible Builder 版本 2 和 3 之间的区别的信息,请参阅 Ansible 3 端口指南。