You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible全局自定义过滤器应该存放在项目的什么位置?

Ansible 完全支持配置项目级全局自定义过滤器,不需要绑定到特定 role 或 collection,配置后整个项目内的所有 play、任务、角色、集合都可以直接调用。

全局过滤器存放方案

1. 仅当前项目生效(最适配你当前的项目结构)

直接在项目根目录创建名为filter_plugins的文件夹,将你编写的过滤器 Python 文件放入该目录即可。Ansible 运行时会自动扫描根目录下的filter_plugins路径加载过滤器,无需额外修改配置。

新增目录后的项目结构参考:

├── ansible_collections
│   ├── ...
├── filter_plugins  # 全局过滤器存放目录
│   ├── my_custom_filter.py
│   └── other_filter.py
├── group_vars
│   └── ...
├── host_vars
│   └── ...
├── plays
│   └── ..
├── roles
│   ├── external
│   └── internal

2. 跨所有Ansible项目生效

如果你需要所有本地运行的Ansible项目都能使用这些过滤器,可以选择以下任意一种方式:

  • 将过滤器文件放入当前用户家目录下的~/.ansible/plugins/filter/路径
  • 修改Ansible全局配置文件ansible.cfg,在defaults段中配置filter_plugins参数,多个存储路径用英文冒号分隔即可。

注意事项

  • 过滤器存在优先级,优先级从高到低为:项目根目录filter_plugins > 角色内filter_plugins > 集合内filter_plugins > Ansible内置过滤器,重名时高优先级的过滤器会覆盖低优先级实现。
  • 运行ansible-doc -t filter -l命令可以查看所有已加载的过滤器,搜索你自定义的过滤器名称即可验证是否加载成功。

内容的提问来源于stack exchange,提问作者onknows

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:36:05