7

次のようなループで使用with_first_foundすることは可能ですか?with_items

- template:
    dest=/foo/{{ item.name }}-{{ item.branch | default('master') }}
    src={{ item }}
  with_first_found:
    - {{ item.name }}-{{ item.branch | default('master') }}
    - {{ item.name }}.j2
    - apache_site.j2
  with_items: apache_sites

を使用して動作させることができないようですwith_nested

4

2 に答える 2

0

tc Server (tomcat) についても同様のニーズがありました。これは私がしたことです:

  1. サイト固有の構成を別のタスク ファイル (configure-sites.yml) に入れました。

    - template:
        src: "{{ item }}"
        dest: /foo/{{ apache_site.name }}-{{ apache_site.branch | default('master') }}
      with_first_found:
        - "{{ apache_site.name }}-{{ apache_site.branch | default('master') }}"
        - "{{ apache_site.name }}.j2"
        - apache_site.j2
    
  2. 別のタスク ファイルから、そのタスク ファイルをインクルードし、各サイトに渡します。

    - include: configure-sites.yml
      with_items: "{{ apache_sites }}"
      loop_control:
        loop_var: apache_site
    

これは、loop_controlAnsible 2.1+ を必要とするものを利用します: http://docs.ansible.com/ansible/playbooks_loops.html#loop-control

それが役立つ場合は、ここで私が行ったことを正確に確認できます:
https://github.com/bmaupin/ansible-role-tcserver/blob/master/tasks/main.yml
https://github.com/bmaupin/ansible -role-tcserver/blob/master/tasks/configure-instances.yml

于 2016-09-23T15:49:17.207 に答える