社区 Ansible 3.0.0 软件包发布
社区 Ansible 3.0.0 软件包发布
Ansible 社区软件包的 3.0.0 版本标志着 Ansible 生态系统重组的结束。这项工作是自 2019 年开始重组 Ansible 项目并塑造 Ansible 内容交付方式的最终成果。
- 从 Ansible 3.0.0 开始,版本控制和命名反映了项目的新结构,具体方式如下:
- Ansible 社区软件包的版本控制方法现在采用了语义化版本控制,并且开始与 Ansible Core 软件包(包含 Ansible 语言和运行时)的版本有所不同。
即将发布的 Ansible Core 软件包将从 2.10 版本中的 ansible-base 重命名为 2.11 版本中的 ansible-core,以保持一致性。
首先,简要回顾一下历史。在 Ansible 2.9 及更早版本中,每个插件和模块都位于 Ansible 项目(https://github.com/ansible/ansible)本身中。安装“ansible”软件包时,您将获得语言、运行时和所有内容(模块和其他插件)。随着时间的推移,Ansible 的压倒性流行导致可扩展性问题。用户不得不等待数月才能获得更新的内容。开发人员不得不依赖 Ansible 维护人员来审查和合并他们的内容。这些明显的瓶颈需要解决。
在 Ansible 2.10 开发周期中,Ansible 社区成功地将大多数模块和插件迁移到 Collections。现在,Collections 以及其中的模块和插件可以独立于 Ansible 本身进行开发、更新和发布。迁移完成后,核心项目中剩下的部分开始作为 ansible-base 发布,Ansible 社区团队创建了一个新的 Ansible 社区软件包。Ansible 2.10 社区软件包包含 ansible-base 2.10 以及所有包含从原始存储库迁移出来的模块和插件的 Collections。从 Ansible 2.10 开始,社区用户有两种选择: 继续使用 Ansible 社区软件包安装所有内容,或者安装 ansible-base,然后单独添加选定的 Collections。
- 如今,Ansible 开源世界中有 3 个不同的工件。
- Ansible Core - 最小的 Ansible 语言和运行时(很快将从 ansible-base 重命名)
- Galaxy 上的 Ansible Collections(社区支持)
Ansible 社区软件包 - 包含 ansible-base/core 和社区精选 Collections 的 Ansible 安装
现在,由于这些工件是分别管理的,它们的版本也开始有所不同。未来,Ansible Core 将保持其现有的编号方案(类似于 Linux 内核)。ansible-base 2.10 之后的下一个 Ansible Core 版本将是 ansible-core 2.11。Ansible 社区软件包(Ansible Core + 社区 Collections)正在采用语义化版本控制。2.10 之后的下一个 Ansible 社区软件包版本是 3.0.0。
软件包的维护和创建方式已经发生了变化,但安装 Ansible 社区软件包时,您仍然可以获得 Ansible 2.9 中存在的功能,以及模块和插件的更新版本。Ansible 3.0.0 包含 85 个以上的 Collections,其中包含数千个模块和其他插件。