# organizing groups of ansible projects

**URL:** <https://forum.ansible.com/t/organizing-groups-of-ansible-projects/13543>\
**Category:** Ansible Project\
**Created:** [September 24, 2013, 10:05pm UTC](https://forum.ansible.com/t/organizing-groups-of-ansible-projects/13543 "2013-09-24T22:05:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kesten\_Broughton2](https://avatars.discourse-cdn.com/v4/letter/k/ecc23a/32.png) [@Kesten\_Broughton2](https://forum.ansible.com/u/Kesten_Broughton2)\
**Post date:** [September 24, 2013, 10:05pm UTC](https://forum.ansible.com/t/organizing-groups-of-ansible-projects/13543/1 "2013-09-24T22:05:33Z")

</div>

If you are using ansible to deploy many technologies, each with its own github repo, what is the preferred way to combine projects?

ProjectA/  
hosts  
playbooks  
roles

ProjectB

hosts  
playbooks  
roles

Merge?

MetaProject/  
hosts (merge hosts files from A and B)  
playbooks (merge directories)  
roles (all the roles from A and B flatenned out)

or Parent-Child

MetaProject/  
hosts (includes child projects)  
playbooks (symlinks or ?)

Merge is simpler, but there is no obvious way to retain heirarchy so all the roles get put in one gigantic soup with nothing but name conventions to keep things sorted.

kesten

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [September 25, 2013, 12:46am UTC](https://forum.ansible.com/t/organizing-groups-of-ansible-projects/13543/2 "2013-09-25T00:46:21Z")

</div>

I’d consider having just one repository, mix the roles, and have playbooks/ have a subdirectory for each project.

You can still use roles by specifying the path out, like:

roles:  
…/roles/foo

etc
