No se pueden consultar varios repositorys en un solo directory

A continuación está el libro de jugadas que estoy tratando de ejecutar.

--- - hosts: all sudo : true sudo_user : ganesh tasks: - name: git repo clone git: repo=https://ganesh:mypassword@github.com/myrepo/root-repo.git dest=/home/ganesh/rootrepo version=master recursive=no git: repo=https://ganesh:mypassword@github.com/myrepo/subrepo1.git dest=/home/ganesh/rootrepo/subrepo1 version=master recursive=no git: repo=https://ganesh:mypassword@github.com/myrepo/subrepo2.git dest=/home/ganesh/rootrepo/subrepo2 version=master recursive=no git: repo=https://ganesh:mypassword@github.com/myrepo/subrepo3.git dest=/home/ganesh/rootrepo/subrepo3 version=master recursive=no 

Estoy esperando la siguiente estructura de directorys después de ejecutar este libro de jugadas.

 rootrepo
     - contenido de repository de raíz
     - subrepo1
         - contenido de subrepo1
     - subrepo2
         - contenido de subrepo2
     - subrepo3
         - contenido de subrepo3

Pero solo hay un repository, es decir, subrepo3 , que permanece en el directory rootrepo después de que se ejecuta el libro de jugadas. Todo lo demás se borra. Incluso los contenidos de rootrepo se eliminan.

 rootrepo
     - subrepo3
         - contenido de subrepo3

¿Por que es esto entonces? ¿Cómo puedo lograr la estructura de directorys que estoy esperando?

La explicación de por qué esto no está funcionando como se espera es que las obras de Ansible se leen como files yaml y "tareas" es una list de dictionarys. En su caso, está duplicando el module "git" (una key en el dictionary) para que gane el último.

Para hacer exactamente lo que quieras, la siguiente jugada funcionará

 --- - hosts: all sudo : true sudo_user : ganesh tasks: - name: git repo clone git: repo=https://ganesh:mypassword@github.com/myrepo/root-repo.git dest=/home/ganesh/rootrepo version=master recursive=no - name: clone subrepos git: repo=https://ganesh:mypassword@github.com/myrepo/{{ item }}.git dest=/home/ganesh/rootrepo/{{ item }} version=master recursive=no with_items: - subrepo1 - subrepo2 - subrepo3 

En general, sin embargo, no es una buena idea tener depósitos en otros repositorys. Lo más probable es que lo que quiera hacer es agregar subrepo {1,2,3} como submodules a root-repo.

Suponiendo que tiene acceso de confirmación a su repository raíz, clónelo y luego ejecútelo.

 git submodule add https://ganesh:mypassword@github.com/myrepo/subrepo1.git subrepo1 git submodule add https://ganesh:mypassword@github.com/myrepo/subrepo2.git subrepo2 git submodule add https://ganesh:mypassword@github.com/myrepo/subrepo3.git subrepo3 

Comtesting esos cambios y luego en tu play set recursive = true cuando finalices en root-repo.git