It may be useful to run an Ansible playbook on a local system.
For example for putting a playbook in a crontab or for a new host provisioning.
In this note i am showing the several ways to run Ansible playbook locally.
Cool Tip: Enable DEBUG mode and increase VERBOSITY in Ansible! Read more →
Run Ansible Playbook Locally
Run an Ansible playbook on the localhost:
# playbook.yml:
---
- name: "Ansible playbook example"
hosts: 127.0.0.1
connection: local
tasks:
- name: "Check out a Git repository on the Ansible host"
git:
repo: git://github.com/path/to/repo.git
dest: /local/path
Run only a single task locally:
# playbook.yml:
---
- name: "Ansible playbook example"
hosts: webservers
tasks:
- ...
- name: "Check out a Git repository on the Ansible host"
local_action:
module: git
repo: git://github.com/path/to/repo.git
dest: /local/path
Run an Ansible playbook locally from the command line:
$ ansible-playbook --connection=local 127.0.0.1, playbook.yml
Note, that the comma after 127.0.0.1, is mandatory, otherwise 127.0.0.1 is treated like a file name, that will cause the following errors:
[WARNING]: Unable to parse …/127.0.0.1 as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match ‘all’