Be careful with a variable called environment, it can cause problems because Ansible uses it internally. I can’t remember if it’s in the docs, but here’s a mailing list thread:
https://groups.google.com/forum/#!topic/ansible-project/fP0hX2Za4I0
We use a variable called stage.
It looks like you’ll end up with a bunch of these in a row:
- include_vars: testing_vars.yml
when: stage == "testing"
- include_vars: staging_vars.yml
when: stage == "staging"
- include_vars: production_vars.yml
when: stage == "production"
But you could also just include your environment:
- include_vars: "{{ stage }}_vars.yml"
Or, use the vars_files on a playbook level:
vars_files:
- vars/{{ stage }}_vars.yml