使用某种模板减少 ansible 任务样板?

使用某种模板减少 ansible 任务样板?

我正在寻找方法来减少必须放入某些 ansible 任务中的样板配置量。

例如,我有许多任务使用该docker_container模块,每个任务都有大约 10 个相同的选项集。我希望将这些标准选项集中定义在某个地方,每个任务仅定义其所需的唯一选项。

(研究这个问题的问题是,关于这个主题的 99.9% 的搜索结果都是关于复制/模板模块本身的)。

我想我可以用 python 编写一个自定义模块来扩展 docker_container 模块,但这似乎真的有点小题大做。

关于减少样板配置有什么想法吗?

答案1

您可以使用module defaults

- hosts: localhost
  module_defaults:
    ansible.builtin.file:
      owner: root
      group: root
      mode: 0755
  tasks:
    - name: Create file1
      ansible.builtin.file:
        state: touch
        path: /tmp/file1

    - name: Create file2
      ansible.builtin.file:
        state: touch
        path: /tmp/file2

    - name: Create file3
      ansible.builtin.file:
        state: touch
        path: /tmp/file3

相关内容