6.2. 创建集合
您可以使用 Ansible Galaxy CLI 工具在本地创建自己的集合。您可以使用 collection
子命令激活特定于集合的命令。
先决条件
- 开发环境中已安装了 Ansible 核版本 2.15 或更新版本。
流程
- 在终端中,前往您希望命名空间根目录的位置。为简单起见,这应当是 COLLECTIONS_PATH 中的路径,但这不是必须的。
运行以下命令,将
my_namespace
和my_collection_name
替换为您自己的值:$ ansible-galaxy collection init <my_namespace>.<my_collection_name>
注意在 galaxy.ansible.com 或 console.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 不会在这些文件中获取。build_ignore
部分过滤不应包含在构建工件中的任何文件或目录。
集合维护者可以使用 introspection 命令验证 ansible-builder 是否识别他们期望的要求:
$ ansible-builder introspect --sanitize ~/.ansible/collections/
其他资源
- 有关创建集合的更多信息,请参阅 Ansible 开发人员 指南中的创建 集合。