I'm tipping my toe in the Ansible pool via a simple project deployment script. I have 3 environments (the usual dev, staging, production) and the deployment is exactly the same for each. In every example I've seen so far, the `hosts` are hard coded in the playbook. What I'd like to do is create a single `deploy.yml` file and specify the `hosts` value when I call it. Otherwise, at least in my limited understanding so far, we'll have to either modify the playbook every time we want to run a deployment against one of our environments.
I've seen something like this:
$ ansible deploy.yml -e "hosts=development"
where, in `deploy.yml`, we have `hosts: $hosts`, but that feels ham-fisted.
Is this the recommended/best approach? Should I be structuring things differently?