Ansible: копировать список папок, файлы по маске и с исключением
Стоит простая задача копирования из A в B в Win:
- -- список папок
- -- файлы *.exe; *.dll
- -- исключая файлы с *resources.dll
И как же не просто это оказалось для меня, написать на плейбук. Смог сделать тест модель, но копирование идет не так как надо. + не могу понять как сделать исключение файлов по маске *resources.dll
--- #CopyObjReleaseTest2.yml
- name: Rsync some files
hosts: win24
vars:
CopyFrom: D:\Projects\test.v3
CopyTo: D:\UpdateMachine.v5-Ansible
tasks:
- name: find user directories
set_fact:
temp_paths: "{{ CopyFrom }}\\{{ 'Obj' }}\\{{ 'Release' }}\\{{ item }}"
register: resultsss
loop:
- "folder1"
- "folder2"
- "folder3"
- name: Find file
win_find:
paths: "{{ resultsss.results | map(attribute='ansible_facts.temp_paths') | list }}"
patterns: [ '*.dll', '*.exe' ]
register: file_to_copy
- name: Copy the
win_copy:
src: "{{ item.path }}"
dest: "{{ CopyTo }}\\{{ 'ObjRelease' }}\\{{ resultsss.results | map(attribute='item') | list }}\\"
remote_src: yes
with_items:
- "{{ file_to_copy.files|list }}"