¿Cómo puedo include la twig de desarrollo de Ansible con mis libros de jugadas cuando me logging en Git?

He estado desarrollando varios libros de jugadas de Ansible y necesito que se ejecuten con una versión de desarrollo de Ansible. En mi computadora portátil eso no es un problema, pero ahora estoy intentando configurar una tarea de CI en Bamboo que consumirá los libros de jugadas, así como los cambios de horario en nuestro repository de Git.

Mi idea era crear un submodule de Git dentro de nuestro repository para una versión específica de Ansible, y de esa manera puedo hacer un git add submodule <ansible git repo> y luego git clone --recursive para desplegar las comstackciones de Ansible oficiales como parte de el repository de mi Playbook en los nodos de trabajador de CI.

  • ¿Es esta una buena manera de abordar esto?
  • ¿Hay una mejor alternativa?

Creo que podrías hacer algo similar usando ansible-galaxy . Deberías crear un file con todos los componentes ansible declarados dentro. Entonces todos los componentes se downloadán usando git. Este enfoque podría verse como el siguiente ejemplo de requirements.yml :

  # ansible roles - src: https://gitlab.corp/teamname/ansible-roles path: roles/ # ansible playbooks - src: https://gitlab.corp/teamname/ansible-playbooks path: playbooks/ # ansible source - src: https://github.com/ansible/ansible version: devel path: ansible/ 

Esto le permitirá ejecutar ansible-galaxy install -r requirements.yml para search todos los componentes de su entorno ansible, incluidos los roles, libros de jugadas e incluso el origen de la versión ansible que desee. De esta manera, tendrá todo su entorno posible definido en un único file.