Hi all,
We have a number of clients for whom we manage systems using Ansible. I’m fairly new to Ansible however my background is heavy use of Chef and Puppet so I understand most of the concepts.
In order to make our lives easier, we have a central “ansible” git repo containing generic roles. This is then cloned as a submodule into each client repo where we override variables and config files accordingly to make the “generic” roles from the master repo client specific.
One of the roles that we have installs and configures Jenkins CI Server. We have a set of “base” jenkins plugins that we install as part of the Jenkins role, however for some clients we will want to install and configure additional plugins.
Is there any way within Ansible that I can collect a list of these plugins from various roles (git, svn, capistrano etc.) and then have them installed by the Jenkins role?
The current approach is to have a “command” task in each role to execute the jenkins-cli command to install the plugins which seems like a very un-DRY way of doing things.
I’m reasonably happy with Python so I’m happy to write a module if this is what is required, however I’m hoping that this is a solved problem!
Thanks in advance for any help,
Matt
P.S. FWIW, it looks like https://github.com/ansible/ansible/pull/6674 might solve this for me, but it’s not been merged as far as I can tell.