gpt4 book ai didi

ansible - 如何将 ansible 角色的 `defaults/main.yml` 文件拆分为多个文件?

转载 作者:行者123 更新时间:2023-12-04 01:31:40 24 4
gpt4 key购买 nike

在一些可靠的角色(例如 roles/my-role/ )中,我有相当多的默认变量文件( defaults/main.yml )。我想拆分 main.yml成几个较小的文件。有可能这样做吗?

我试过创建文件 defaults/1.ymldefaults/2.yml ,但它们不是由 ansible 加载的。

最佳答案

我在下面描述的功能自 Ansible 2.6 起就可用,但在 v2.6.2 中修复了一个错误,在 v2.7 中获得了另一个(次要)修复。
要查看旧版本的解决方案,请参阅 Paul 的回答。
defaults/main/
而不是创建 defaults/main.yml , 创建目录 — defaults/main/ — 并将所有 YAML 文件放在那里。

  • defaults/main.yml defaults/main/*.yml

  • Ansible 将加载任何 *.yml该目录中的文件,因此您可以将文件命名为 roles/my-role/defaults/main/{1,2}.yml .

    注意,旧文件 — defaults/main.yml ——不能存在。见 this Github comment .
    vars/main/
    顺便说一下 ,上述解决方案也适用于 vars/ :
  • vars/main.yml vars/main/*.yml


  • 更多细节

    该功能已在 v2.6 中引入 — git commit , Pull Request , main Github issue .

    有两个错误修正:
  • v2.7 修复:git commit , Pull Request反向移植 到 v2.6.2:commit , Pull Request
  • v2.7 修复:git commit , Pull Request , bug discussion
  • 关于ansible - 如何将 ansible 角色的 `defaults/main.yml` 文件拆分为多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51818264/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com