Occasionally there may be a need to fix something in an ansible galaxy role, and use your fixed fork instead of the original role. Luckily since ansible galaxy introduced using YAML files to configure dependencies, this is simple enough to do.
Lets say we’re customising one of Geerlingguy’s roles, usually we’d have the following in our requirements.yml
:
- src: geerlingguy.php
version: 1.8.1
To use our fork, all we need to do is change the src
over to our fork, and set the name
to match the original role:
- src: https://github.com/lewisw/ansible-role-php
name: geerlingguy.php
I personally like to keep all my fixes on a separate branch, so I can submit them as pull requests, so to use a specific branch just use version
:
- src: https://github.com/lewisw/ansible-role-php
name: geerlingguy.php
version: remotes/origin/configurable-pool-path
Then you’ll need to re-run the ansible galaxy install command like so:
ansible-galaxy install -f -r requirements.yml
Note: The -f
will force the reinstallation of your roles. It probably isn’t necessary for ansible galaxy to pick-up your changes, but just to be on the safe side I always include it.
That’s all, happy forking!