6.2. 创建集合
您可以使用 Ansible Galaxy CLI 工具在本地创建自己的集合。所有特定于集合的命令都可使用 collection 子命令激活。
先决条件
- 开发环境中安装了 Ansible 版本 2.9 或更新版本。
流程
- 在终端中,导航到您希望命名空间根目录的位置。为简单起见,这应当是 COLLECTIONS_PATH 中的路径,但这不是必须的。
运行以下命令,将
my_namespace和my_collection_name替换为您选择的值:ansible-galaxy collection init <my_namespace>.<my_collection_name>
$ ansible-galaxy collection init <my_namespace>.<my_collection_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在 galaxy.ansible.com 或 cloud.redhat.com/ansible/automation-hub 的"My Content" 标签页下检查,确保您具有上传到命名空间的适当权限
以上命令将从上述命名空间参数(如果尚未存在)创建名为 的目录,然后在 下创建具有集合名称的目录。该目录内为默认值或"框架"集合。在这里,您可以添加角色或插件,并开始开发自己的集合。
对于执行环境,集合开发人员可以通过在 Ansible Builder 中提供适当的元数据来声明其内容的要求。
集合的要求可以通过以下方法识别:
-
文件
meta/execution-environment.yml引用 Python 和/或bindep要求文件 -
名为
requirements.txt的文件,其中包含有关 Python 依赖项的信息,有时可以在集合的根目录中找到 -
名为
bindep.txt的文件,其中包含系统级别的依赖项,有时可以在集合的根目录中找到 -
如果其中任何文件位于 Collection 的
build_ignore中,Ansible Builder 将不会在这些中提取,因为本节用于过滤构建工件中不应包含的任何文件或目录。
集合维护器可以使用 introspect 命令验证 ansible-builder 是否识别他们期望的要求:
ansible-builder introspect --sanitize ~/.ansible/collections/
$ ansible-builder introspect --sanitize ~/.ansible/collections/