Creating the www playbook

We created a site-wide playbook and used an include statement to call another playbook by the name www.yml. We will now create this file with one play, which maps our web server hosts to the Nginx role:

---
#www.yml : playbook for web servers
- hosts: www
  remote_user: vagrant
  sudo: yes
  roles:
     - nginx

The above code works as follows:

  • Run this code on any host that maps to the [www] group specified in the hosts file.
  • For each directory inside the roles/nginx/* file, include roles/nginx/*/main.yml to the play. This includes tasks, handlers, vars, meta, default, and so on. This is where the auto include rules apply.

The default and custom role paths

By default, Ansible looks inside the roles/ subdirectory of the project that we ...

Get Ansible Playbook Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.