Task, handler, variable, and playbook inclusion concepts
The first step to understanding how to efficiently organize an Ansible project structure is to master the concept of including files. The act of including files allows content to be defined in a topic-specific file that can be included in other files one or more times within a project. This inclusion feature supports the concept of Don't Repeat Yourself (DRY).
Including tasks
Task files are YAML Ain't Markup Language (YAML) files that define one or more tasks. These tasks are not directly tied to any particular play or playbook; they exist purely as a list of tasks. These files can be referenced by playbooks or other task files by way of the include
operator. Now, you might expect the include
operator to be a keyword of Ansible in its own right—however, this is not the case; it is actually a module just like ansible.builtin.debug
. For...