Ansible 集合创建者路径
注意
如果您不熟悉 Ansible 集合,请先查看 使用 Ansible 集合指南.
Ansible 集合是一种用于 Ansible 内容的发布格式,其中可以包含剧本、角色、模块和插件。一个典型的集合解决一组相关的用例。例如,community.dns
集合包含用于处理 DNS 的模块和插件。
您可以安装其他人制作的集合,也可以通过分发服务器(如 Ansible Galaxy)与社区分享您的集合。经过认证的集合可以发布到 Red Hat Automation Hub,它是 Red Hat Ansible Automation Platform 的一部分。
创建和分享集合是为 Ansible 项目做出贡献的好方法。
Ansible 社区包由 ansible-core
组成,它除其他核心组件外,还包括由核心团队维护的 ansible.builtin
集合,以及由社区维护的一组集合。
本指南的目的是为(潜在的)内容创建者提供一个一致的概述,涵盖从第一个模块/角色的想法到将你的集合包含在 Ansible 社区包中的 Ansible 集合创建者之旅。集合开发指南部分 提供了有关此旅程更详细方面的参考资料。整个旅程包含以下里程碑
检查当前可用的解决方案
如果您有一个关于新角色或模块/插件的想法,如果已经存在一个能够解决您的自动化问题的足够解决方案,那么就没有必要重新发明轮子。
因此,首先检查当前可用的内容,包括
Ansible Automation Hub(如果您拥有 Ansible Automation Platform 订阅)
如果您发现的解决方案不完全足够或存在缺陷,请考虑改进它们,而不是创建自己的解决方案。每个集合都包含有关在哪里为该集合创建问题以提出您的增强建议的信息。
如果您已经编写了自己的内容并在工作流程中使用,您仍然可以考虑将其集成到现有的解决方案中。但是,如果这些选项不适用于您的集合想法,我们鼓励您创建并分享您自己的集合。
创建你的内容
你 尝试过,但没有找到任何能够解决您的自动化问题的足够解决方案。
使用以下指南之一
将你的内容放入集合中
你 创建了 新内容。
现在是时候创建一个可重用且可共享的集合了。使用 集合开发指南 来了解如何操作。
我们建议您使用 collection_template 存储库 作为您集合的基础。
编写良好的用户集合文档
您的集合 README.md
文件应包含快速入门安装和使用指南。您可以使用 community.general 集合 README 文件 作为示例。
如果您的集合包含模块或插件,请确保它们的文档全面。使用 模块格式和文档指南 和 Ansible 文档风格指南 了解更多信息。
发布你的集合源代码
在软件开发和版本控制平台(如 GitHub)上发布您的集合。
它可以是您的个人存储库,也可以是您组织的存储库。您还可以 请求 ansible-collections 组织下的存储库。
确保您的集合包含详尽的许可信息。Ansible 是一个开源项目,因此我们鼓励您在开源许可协议下将其许可。如果您计划提交您的集合以将其包含在 Ansible 社区包中,您的集合必须满足 许可要求.
如果您之前建议的 collection_template 存储库 作为您的集合的框架,它已经包含了 GNU GPL v3
许可协议。
遵循版本控制约定
在发布集合的新版本时,请考虑以下推荐做法
了解和实施测试和 CI
本节适用于包含模块和插件的集合。
有关角色测试,请参阅 Ansible Molecule 项目。
添加测试
测试您的集合可确保您的代码正常工作并与其他组件(如 ansible-core
)集成。
请查看以下文档
测试 Ansible 指南:提供了关于测试的一般信息。
测试集合指南:包含特定于集合的测试信息。
实施持续集成
现在确保在您的集合存储库中创建拉取请求时,它们会使用 CI 工具(如 GitHub Actions 或 Azure Pipelines)自动测试。
collection_template 存储库 包含 GitHub Actions 模板,您可以调整和使用这些模板来在您的存储库中启用工作流程。
提供良好的贡献者和维护者文档
请参阅 collection_template/README.md 作为示例。
在分发服务器上发布你的集合
为了分发你的集合并允许其他人方便地使用它,请将你的集合发布到一个或多个分发服务器上。查看分发集合指南了解如何操作。
将你的集合纳入 Ansible 社区包
确保你的集合满足Ansible 社区包集合要求,并提交以纳入。查看纳入流程说明了解如何操作。
维护
维护你的集合。查看Ansible 集合维护者指南了解详情。
沟通
与社区互动。查看Ansible 沟通指南了解可用的沟通选项。
参见
- 开发集合
关于集合开发方面的一组指南