Nuestros programadores estrellas agotaron sus provisiones de café, en su búsqueda diariamente por la respuesta, hasta que César encontró la contestación en GitLab por lo tanto hoy la comparte aquí.
Solución:
los template
módulo en sí mismo ejecuta la acción en un solo archivo, pero puede usar with_filetree
para recorrer recursivamente una ruta específica:
- name: Ensure directory structure exists
file:
path: ' templates_destination / item.path '
state: directory
with_filetree: ' templates_source '
when: item.state == 'directory'
- name: Ensure files are populated from templates
template:
src: ' item.src '
dest: ' templates_destination / item.path '
with_filetree: ' templates_source '
when: item.state == 'file'
Y para plantillas en un solo directorio puede usar with_fileglob
.
Esta respuesta proporciona un ejemplo práctico del enfoque establecido por @techraf
con_archivoglob espera que solo los archivos vivan dentro de la carpeta de plantillas; consulte https://serverfault.com/questions/578544/deploying-a-folder-of-template-files-using-ansible
with_fileglob solo analizará archivos en la carpeta de plantillas
con_filetree mantiene la estructura de directorios al mover los archivos de plantilla a dest. Crea automáticamente esos directorios para usted en destino.
with_filetree analizará todos los archivos en la carpeta de plantillas y directorios anidados
- name: Approve certs server directories
file:
state: directory
dest: '~/ item.path '
with_filetree: '../templates'
when: item.state == 'directory'
- name: Approve certs server files
template:
src: ' item.src '
dest: '~/ item.path '
with_filetree: '../templates'
when: item.state == 'file'
Esencialmente, piense en este enfoque como copiar y pegar un directorio y todo su contenido de A a B y, al hacerlo, analizar todas las plantillas.
Lo hice y funcionó. o/
- name: "Create file template"
template:
src: " item.src "
dest: " your_dir_remoto / item.dest "
loop:
- src: '../templates/file1.yaml.j2', dest: 'file1.yaml'
- src: '../templates/file2.yaml.j2', dest: 'file2.yaml'
Te mostramos comentarios y calificaciones
Te invitamos a favorecer nuestro ensayo poniendo un comentario o dejando una valoración te lo agradecemos.