代码之家  ›  专栏  ›  技术社区  ›  Buzut

Ansible文件循环

  •  1
  • Buzut  · 技术社区  · 8 年前

    在Ansible 2.5之前,循环的语法通常是 with_x . 从2.5开始, loop 带\u x 基本上从文件上消失了。

    尽管如此,文件还是提到了如何替换的例子 带\u x 环

    假设我需要上传给定目录中的所有文件,我以前使用 with_fileglob .

    - name: Install local checks
      copy:
        src: "{{ item }}"
        dest: /etc/sensu/plugins/
        owner: sensu
        group: sensu
        mode: 0744
      with_fileglob:
        - plugins/*
    

    那么现代的等价物是什么呢?有可能吗?我知道我还能用 使用\u fileglob 但在我写新角色的时候,我最好让他们成为未来的证明。

    1 回复  |  直到 8 年前
        1
  •  15
  •   Vladimir Botka    6 年前

    等价物是

        loop: "{{ lookup('fileglob', 'plugins/*', wantlist=True) }}"
    

    这是你的名字 doc

        2
  •  4
  •   Efreeto    6 年前

    从现在开始 Ansible loops doc

    任何 with_* 需要使用的语句 lookup 在一个循环中 不能转换为使用 loop 关键字。例如 正在执行:

    loop: "{{ lookup('fileglob', '*.txt', wantlist=True) }}"

    保持清洁:

    with_fileglob: '*.txt'