Hi all,

I'm trying to figure out a development strategy for my team and how we 
produce our Ansible output.

We are using Ansible Tower (v3.3.1 but moving to v3.4.1 shortly) and an 
instance of Github Enterprise to hold our repositories.

I am trying to come up with a workable way of keeping our playbooks and 
roles separate. My current process is to make one github repo per role, so 
that anyone on the team can use / contribute to them directly.

I then wished to create a repo that contains all the playbooks, and a 
roles/requirements.yml, into which we would append new roles to as and when 
they are needed by any of the playbooks.

This playbooks repo is then loaded into Tower as a project, giving us a 
single project to source our playbooks from when creating job templates.

Initially, I was hoping I could make sub-directories for the playbooks, so 
they have their own unique requirements.yml file to stop Tower needing to 
pull down everything, but it doesn't appear to allow for this. Going with a 
top-level roles/requirements.yml is workable, but there is a problem I am 
yet to figure out how to resolve cleanly.

If I need to make an update to a role, perhaps a task needs changing, but 
the playbook repo is unaffected, I do not see a way of having Tower re-sync 
from github all the roles, unless I use the Delete on Update project 
setting. This bothers me because it seems inefficient having to remove all 
the local files and then download everything from git again, instead of 
just having git check what's different in the repositories specified in the 
requirements file.

My questions would be:
1. Is there a way to have a project trigger the git / ansible-galaxy check 
without using the Delete on Update option?
2. Is there a better way of achieving the role / playbook split in Tower 
than I've envisioned above? Our current way is one project per similar set 
of playbooks, so doing a Delete on Update isn't too big of an issue as 
we're only re-syncing one set of roles and not the whole lot. This works, 
but it makes the Projects library start to get quite cluttered.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/c871917a-e976-44fa-8a4a-9c44c0b6ebe7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to