Как скопировать заранее заданные несколько файлов в with_items в одном Ansible playbook, чтобы различать целевые направления? - PullRequest
1 голос
/ 13 апреля 2020

Плз мириться со мной, я новичок в Ansible. У меня есть tasks/main.yml файл, подобный этому, как часть усилий по улучшению. На данный момент я должен выполнить playbook для каждого файла отдельно, чтобы скопировать A.jar и B.jar по одному. Однако я пытаюсь создать массив, содержащий заранее A and B jar файлов, и обработать один за другим, чтобы скопировать его в две разные папки назначения в этой пьесе, но борюсь с синтаксисом. В надежде повторно использовать with_items.

- name: Copy 
 copy:
   src: "/somePath/{{ name }}.jar"
   dest: "{{ item }}"
   remote_src: yes
 with_items:
   - "/pathTo/foo/"
   - "/pathTo/bar/"

# /pathTo/foo
A.jar
B.jar

# /pathTo/bar
A.jar
B.jar

1 Ответ

0 голосов
/ 13 апреля 2020

Вы можете использовать with_nested для зацикливания,

- name: Copy 
  copy:
   src: "/somePath/{{ item[0] }}"
   dest: "{{ item[1] }}"
   remote_src: yes
  with_nested:
   - [ "A.jar", "B.jar" ]
   - [ "/pathTo/foo/", "/pathTo/bar/" ]

Это повторяет каждый элемент в каждом списке, чтобы скопировать все ваши исходные файлы (A.jar и B.jar) из первого списка во все каталоги назначения, перечисленные во втором списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...