Hello Rubod,
my two cents: the playbooks shouldn't differ between your environments.
This can be accomplished with conditions / variables in the playbooks / tasks.
The varying values are in the corresponding inventory for each environment. You
can put the inventories in separate repositories or in separate directories of
a single repository.
Regards
Racke
--
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.