集合 Galaxy 元数据结构

Ansible 集合的一个关键组成部分是放置在集合根目录下的 galaxy.yml 文件。此文件包含用于生成集合工件的集合元数据。

结构

galaxy.yml 文件必须包含以下有效 YAML 中的键

注释

命名空间

字符串 

必需

集合的命名空间。

这可以是公司/品牌/组织或产品命名空间,所有内容都位于该命名空间下。

只能包含字母数字小写字符和下划线。命名空间不能以下划线或数字开头,也不能包含连续的下划线。

名称

字符串 

必需

集合的名称。

具有与 namespace 相同的字符限制。

版本

字符串 

必需

集合的版本。

必须与语义版本控制兼容。

自述文件

字符串 

必需

Markdown (.md) 自述文件的路径。

此路径相对于集合的根目录。

作者

列表 

必需

集合内容作者的列表。

可以只是名称,也可以使用 '全名 <电子邮件> (网址) @昵称:irc/im.site#频道' 的格式。

描述

字符串 

集合的简短摘要描述。

许可证

列表 

集合内内容的单个许可证或许可证列表。

Ansible Galaxy 目前只接受 SPDX 许可证

此键与 license_file 互斥。

license_file

字符串 

集合的许可证文件的路径。

此路径相对于集合的根目录。

此键与 license 互斥。

标签

列表 

您希望与集合关联以进行索引/搜索的标签列表。

标签名称具有与 namespacename 相同的字符要求。

依赖项

字典 

此集合需要安装才能使用的集合。

字典的键是集合标签 命名空间.名称

该值是版本范围 说明符

可以设置多个版本范围说明符,并用 , 分隔。

存储库

字符串 

原始 SCM 存储库的 URL。

文档

字符串 

任何在线文档的 URL。

主页

字符串 

集合/项目主页的 URL。

问题

字符串 

集合问题跟踪器的 URL。

build_ignore

列表 


version_added: 2.10

 

用于筛选不应包含在构建工件中的任何文件或目录的文件 glob 式模式列表。

模式从集合目录的文件或目录的相对路径进行匹配。

这使用 fnmatch 来匹配文件或目录。

某些目录和文件(例如 galaxy.yml*.pyc*.retry.git)始终被筛选掉。

manifest 互斥

清单

哨兵 


version_added: 2.14

 

一个字典,控制在构建集合工件中使用的清单指令的使用。

directives 是一个 MANIFEST.in 样式 指令列表

omit_default_directives 是一个布尔值,控制是否使用默认指令

build_ignore 互斥

示例

namespace: "namespace_name"
name: "collection_name"
version: "1.0.12"
readme: "README.md"
authors:
    - "Author1"
    - "Author2 (https://author2.example.com)"
    - "Author3 <[email protected]>"
dependencies:
    "other_namespace.collection1": ">=1.0.0"
    "other_namespace.collection2": ">=2.0.0,<3.0.0"
    "anderson55.my_collection": "*"    # note: "*" selects the highest version available
license:
    - "MIT"
tags:
    - demo
    - collection
repository: "https://www.github.com/my_org/my_collection"

另请参阅

开发集合

开发或修改集合。

开发模块

了解如何编写 Ansible 模块

使用 Ansible 集合

了解如何安装和使用集合。

邮件列表

开发邮件列表

irc.libera.chat

#ansible IRC 聊天频道