如何向后移植 Ansible extras 模块?

How to backport Ansible extras module?

对于我正在进行的项目,我希望能够使用 maven_artifact module in the Ansible Extras repository

但是,该项目使用 Ansible 稳定版(当前为 1.9.3)并且该模块被记录为仅从 2.0 版开始可用(看起来仍在 alpha 中)。

将这个模块 "backport" 到我们当前的跨多台机器的 Ansible 安装的最佳方法是什么?

将“maven_artifact.py”文件放到每台机器上的 "ansible/modules/extras/packaging/language/" 目录中是否可行?或者将源代码中的行:

version_added: "2.0"

由于某种兼容性检查而阻止它 运行ning?

此外,我如何判断该模块是否依赖于 Ansible 2.0 版中存在的功能,因此不兼容并且不会 运行 在 1.9.3 上,或者它是否只是 2.0 版是在设置时介绍一下?

2.0 对模块子系统的更改非常小 - 大多数 2.0 模块在 1.9.x 中都可以正常工作(没有版本检查)。最简单的使用方法是将您要使用的模块的源代码从 Github extras 存储库复制到您的剧本旁边名为 library 的目录中。如果您已将 Ansible 内容签入某种源代码控制存储库,请将库目录也放在那里 - 然后您签出 playbook 内容的所有 Ansible 机器都可以 运行 该模块,而无需您手动复制它。